Exemplo n.º 1
0
print(digest_hex)
print('\tПодписываем по handle закрытого ключа')
#Для подписания используем handle закрытого ключа
sign_hex, stat = t1.sign(ckmpair, digest_hex, hprivkey)
if (stat != ''):
    print(stat)
    quit()
#Для подписания используем CKA_ID закрытого ключа
sign1_hex1, stat = t1.sign(ckmpair, digest_hex, pkcs11_id)
print('\tПодписываем по pkcs11_id (CKA_ID)  закрытого ключа')
if (stat != ''):
    print(stat)
    quit()
print(sign1_hex1)
print('Проверка 1-ой подписи')
verify, stat = t1.verify(digest_hex, sign1_hex1, pubkeyinfo)
if (stat != ''):
    print('Прерывание при verify 1: ' + stat)
if (verify == 1):
    print('Подпись верна')
else:
    print('Подпись не верна')

print('Проверка 2-ой подписи')
verify, stat = t1.verify(digest_hex, sign1_hex1, pubkeyinfo)
#verify, stat = t1.verify(digest_hex, pubkeyinfo, sign1_hex1)
if (stat != ''):
    print('Прерывание при verify 2: ' + stat)
if (verify == 1):
    print('Подпись верна')
else:
Exemplo n.º 2
0
    print(stat)
    quit()
print(parseHabre.keys())
#Проверяем, что издатель сертификата совпадает с владельцем корневого сертификата
if (parseCA.get('subject') != parseHabre.get('issuer')):
    print('Сертификат выдан на другом УЦ')
    quit()
print('Сертификат выдан на данном УЦ')
#Переводим tbsCertificate пользователь в binary
tbs_hex = parseHabre.get('tbsCertificate')
tbsHabrDer = bytes(bytearray.fromhex(tbs_hex))
#tbsHabrDer = '1111'
#Получаем хэш для tbs-сертификата
hashTbs_hex, stat = t1.digest("stribog512", tbsHabrDer)
if (stat != ''):
    print(stat)
    quit()
#hashTbs_hex, stat = t1.digest("stribog256", tbsHabrDer)
verify, stat = t1.verify(hashTbs_hex, parseHabre.get('signature'),
                         parseCA.get('pubkeyinfo'))
#verify, stat = t1.verify(hashTbs_hex, parseHabre.get('signature'), parseHabre.get('pubkeyinfo'))
if (stat != ''):
    print('Ошибка при проверке подписи:')
    print(stat)
    quit()
if (verify != 1):
    print('Подпись сертификата не прошла проверку')
    quit()
print('Подпись сертификата прошла проверку')
quit()