我該如何做以下C++代碼的等價物?如何使用Go編程語言使用從PEM文件中讀取的RSA私鑰進行加密?
RSA *key = PEM_read_RSAPrivateKey(f, NULL, NULL, NULL);
std::vector<CK_BYTE> out(128);
RSA_private_encrypt(in.size(), &in[0], &out[0], key, RSA_PKCS1_PADDING)
我看了Go rsa package。它看起來像EncryptPKCS1v15()可能相當於RSA_private_encrypt()。但是我沒有看到如何創建一個PrivateKey對象,而不是使用GenerateKey(),該對象(可以通過查看the source來確認)使用隨機素數生成一個。
我是否需要弄清楚如何解碼PEM文件,以便提取出PrivateKey字段的值?
更新:相當於上面的C++代碼在Python是:
from M2Crypto import RSA
rsa_private_key = RSA.load_key('privkey.pem')
encrypted = rsa_private_key.private_encrypt(digest, RSA.pkcs1_padding)
是否有進入現有的相同呢?
編碼/ pem包可用於將PEM文件解碼爲合適的格式。 – brennie 2011-07-15 10:16:11