コード例 #1
0
#!/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'
コード例 #2
0
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
            #Избавляемся от лишних пробелов у метки слота
コード例 #3
0
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'
コード例 #4
0
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)