我该如何做以下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