记录一下OpenSSL包的一些操作
# !/usr/bin/python3
# -*- coding: utf-8 -*-
import OpenSSL
from OpenSSL.crypto import sign,verify,PKey
import time
from dateutil import parser
key = PKey()
key.generate_key(OpenSSL.crypto.TYPE_RSA, 2048)
crt=OpenSSL.crypto.dump_publickey(OpenSSL.crypto.FILETYPE_PEM, key)
pri=OpenSSL.crypto.dump_privatekey(OpenSSL.crypto.FILETYPE_PEM, key)
print(crt)
print(pri)
# openssl x509 -inform DER -in test.cer -out certificate.crt
with open(r'C:\Users\admin\Desktop\2_1328217234828578816\asu2x9.com\asu2x9.com.crt', "r") as fp:
crt_data = fp.read()
keydata = '''-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDJdDelWqqMdbde
UAwG10NNY7qX+rwKaDbJO8XtscXuj2lJoAvrnQnsO4C0JXXiuR26aNFPwVJTx/tV
Nk98WMIGWvh5nsKyPT6oERnSr4fYkMvL3WjVz2oda/BhOw4XtMZ0OGJjhav6zBrW
6hX1XchmKGCXwsjIuxjfhPCIBShCtUUDl+ih+PNxpRehdJjvHwlcZ9EH8Dt28ZVy
jst9Xf4AOD2wCehmN0XFsY018mP/U/QKuEEX9gH3UL8ADZDUwaecbQZEFu9we5cT
UPfNBrPV5fp5oFggn+qZTRBVHDw01jmF+ydfHQ4OjHLbMDVQhYGpGarOIo2A8hpp
tymKdj77AgMBAAECggEALf9vRT4yeufV+p7kYBt+roj67gC+NtIc0E3pn6BbxWDR
dZIppp6wyVO8y2VSSXZjJ1EPmdpWZfLfnFFOTOInSzQyT/LEGdaKG+3rq4OQzQ4i
umXPriIx5I3k0Q6e5SLNvXOyY27+GcHIzxGb+e5z9394rq43Ej5GK6M7GJO04aYC
XtBqHbw9eZyLPcWVZKVNZyUa3s2gnoJmH5aWrfATfY8rEu1ut7HL8/tVFw+hpG3v
ddTLQFPj94R481XRR0hVN5S6BxnMmWkro9nzIHRquo/D80jSI0jQ+Hbfq8HCoxn7
cmB8Ik0mSob/YT+pNli/iUBfaD/aFgFafdh4EFskQQKBgQDqJeJm6HRYWTuN0MGd
zD3M+gKYpaKqvfEH0xtlN9pgQL08gvSsNm/SRLAVgLpufBbsjbu2hGB4AIWvwHZb
impqexluH/bejesiCUAtSPE2CpJFBeqzD3tY30rGnE00XluMZ6z+v/ZHGYMdpnj3
lIwFqb46j6yWfHo0TBYBXPFSKQKBgQDcQTpzul4GOfovyfqS8j9uID+MfLV0DDse
hoedwo8FDPebPyPZ5oybTN+k99uiOzAZArI080PlVFSqhXrMgP1P4biSH0UGFiGD
QWYkUxhhI6Dsn6EF05KrklJZjYkwrSLne9n9DU2iw0PghuruzJHZB4CESJnra718
D8F9+d4UgwKBgQCmoFsjfJz/GlFFNJ/0WZpJOkmKs6S0+QKD3PmL6FlhUfDZFSBl
RUACVJsyUi9Z3Li7kolY849rFoQMdFxF/JSKPhv0wI6ABmKkEA05rMTq/k7lC7bf
wk63CgA+opBWiieAHW+Awr7SDhe+i+9d0LpsdUVIi2H4nZChktu+EJQzMQKBgC65
i7vnSnEJtaCTuZuY1on3P2P/RMM0oQoNwhFep9aLdK+zilh8h1Ge0kb96dMVuVNk
9gczoDCzXi66mF1v880RdoVRKuRqp3tf0VpdYmuhEk+AYbmJs7DAHsYut27jG+d9
p7X+L30a7XhhRs+YCEzBQatOd5Cwz4bVFNgzvMAfAoGBANqLPmzCyrr9AGSQeOMu
tDsPXJ5ZBncN1ZhDhP4P4IP3qOElRXvKbLqSplpYVFNs/CKJFTIj+FP77K0hxgKA
3uDADJro7BI4/DDr3faowo8zENhm+KBSOvUtoAOmorI/aKsKcggmG9ulanOxWo2+
nbhRG7LbUaRSNsS6sAFASF8DM81
-----END PRIVATE KEY-----
'''
sskey = OpenSSL.crypto.load_privatekey(OpenSSL.crypto.FILETYPE_PEM, keydata)
cert = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, crt_data)
# print(sskey)
signdata1 = sign(sskey, 'hello'.encode(), 'sha1')
signdata2 = sign(sskey, 'haha'.encode(), 'sha1')
print(signdata1)
print(signdata2)
conse = verify(cert, signdata1, 'hello'.encode(), 'sha1')
# print(conse)
if __name__ == '__main__':
pass