0
M2Crypto (0.22.6rc4)를 사용하고 있습니다. OpenSC 프로젝트의 engine_pkcs11
과 토큰 기반 인증을위한 Aladdin PKI 클라이언트를 사용하여 데이터를 암호화하고 해독합니다.M2Crypto 및 USB 토큰 사용에 대한 도움이 필요합니다.
from M2Crypto import Engine, m2, RSA, BIO
slot_id = "slot_01"
pin = "password"
dynamic = Engine.load_dynamic_engine("pkcs11", "/usr/lib/ssl/engines/libpkcs11.so")
pkcs11 = Engine.Engine("pkcs11")
pkcs11.ctrl_cmd_string("MODULE_PATH", "/usr/lib/watchdata/ICP/lib/libwdpkcs_icp.so")
pkcs11.init()
r = pkcs11.ctrl_cmd_string("PIN", pin)
pubkey = pkcs11.load_public_key(slot_id, pin)
priv = pkcs11.load_private_key(slot_id, pin)
enc = pubkey.get_rsa().public_encrypt("teste", RSA.pkcs1_oaep_padding)
dec = priv.get_rsa().private_decrypt(enc, RSA.pkcs1_oaep_padding)
print dec
하지만 시도는 해독 할 때 나는 RSA_pub의 인스턴스 및이 오류를 얻을 :
File "pkcs11.py", line 14, in <module>
dec = priv.get_rsa().private_decrypt(enc, RSA.pkcs1_oaep_padding)
File "/usr/lib/python2.7/dist-packages/M2Crypto/RSA.py", line 279, in private_decrypt
raise RSAError, 'RSA_pub object has no private key'
M2Crypto.RSA.RSAError: RSA_pub object has no private key
이 어떤 도움을 주시면 감사하겠습니다을!