#!/usr/bin/python3 #-*- coding: utf-8 -*- import sys import time import pyp11 print('Список сертификатов токена') aa = pyp11.loadmodule('/usr/local/lib64/libls11sw2016.so') #aa = pyp11.loadmodule('/usr/local/lib64/librtpkcs11ecp_2.0.so') print(aa) lcerts = pyp11.listcerts(aa, 0) if (len(lcerts) == 0): print('На токене нет сертификатов') quit() #Перебираем сертификаты i = 0 for cert in lcerts: print(str(i) + '-ый сертификат') #Информация о сертификате for key in cert: print('\t' + key + ': ' + cert[key]) i += 1 #Сравним с pyp11.listobjects tobj = 'объект' #type = 'all' #type = 'cert' #type = 'pubkey' #type = 'data' type = 'privkey'
import pyp11 print('Работа с функциями inittoken:') #Выбираем библиотеку #Программный токен lib = '/usr/local/lib64/libls11sw2016.so' #Для Windows #lib='C:\Temp\ls11sw2016.dll' #Облачный токен #lib = '/usr/local/lib64/libls11cloud.so' #Аппаратный токен #lib = '/usr/local/lib64/librtpkcs11ecp_2.0.so' #Загружаем библиотеку libid = pyp11.loadmodule(lib) #Дескриптор библиотеки #print (libid) #Загружаем список слотов slots = pyp11.listslots(libid) tokpr = 0 #Ищем первый подключенный токен while (tokpr == 0): #Перебираем слоты for v in slots: #Список флагов текущего слота flags = v[2] #Проверяем наличие в стоке токена if (flags.count('TOKEN_PRESENT') != 0): tokpr = 1 #Избавляемся от лишних пробелов у метки слота
import sys import pyp11 from Token import Token print('Работа с функциями parsecert:') #Выбираем библиотеку #Программный токен lib = '/usr/local/lib64/libls11sw2016.so' #Для Windows #lib='C:\Temp\ls11sw2016.dll' #Облачный токен #lib = '/usr/local/lib64/libls11cloud.so' #Аппаратный токен #lib = '/usr/local/lib64/librtpkcs11ecp_2.0.so' try: aa = pyp11.loadmodule(lib) print('load lib: ', aa) except: print('Except load lib: ') e = sys.exc_info()[1] e1 = e.args[0] print(e1) quit() #Создаем объект токен slot = 0 #For rabota sn = '228CBB83AEC1EA19' #For dom #sn = '50A333C9E79D9FD6'
import pyp11 print('Работа с функциями:') #print('load lib: ', pyp11.loadmodule('/usr/local/lib64/libls11sw2016_BLLi.so')) #Выбираем библиотеку #Программный токен lib = '/usr/local/lib64/libls11sw2016.so' #Для Windows #lib='C:\Temp\ls11sw2016.dll' #Облачный токен #lib = '/usr/local/lib64/libls11cloud.so' #Аппаратный токен #lib = '/usr/local/lib64/librtpkcs11ecp_2.0.so' try: aa = pyp11.loadmodule(lib, 2) print('load lib: ', aa) except: print('Except load lib: ') e = sys.exc_info()[1] e1 = e.args[0] print(e1) aa = pyp11.loadmodule(lib) print(aa) pyp11.unloadmodule(aa) aa = pyp11.loadmodule(lib) print(aa) lm = pyp11.listmechs(aa, 0) for v in lm: print(v)