如何在go中执行以下C++代码的等效操作?
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包了。看起来EncryptPKCS1v15()可能相当于RSA_private_encrypt()。但是,除了使用PrivateKey ()之外,我不知道如何创建一个GenerateKey对象,它(可以通过查看来源来确认)使用随机素数生成一个对象。
我是否需要弄清楚如何解码PEM文件,从而提取PrivateKey字段的值?
更新:与中的上述C++代码等价:
from M2Crypto import RSA
rsa_private_key = RSA.load_key('privkey.pem')
encrypted = rsa_private_key.private_encrypt(digest, RSA.pkcs1_padding)Go中是否有现有的等价物?
发布于 2010-06-24 23:36:54
等效函数似乎是SignPKCS1v15。ParsePKCS1PrivateKey包中的函数crypto/x 509似乎与您需要在现有私钥中读取的内容最接近,但我不确定PEM格式是否完全兼容,这必须是它才能工作。
发布于 2010-06-24 14:52:37
我想你可能在找密码/tls,而不是密码/rsa。
我不能100%确定您在这里要做什么,但是tls包确实有一些读取PEM文件的功能。
https://stackoverflow.com/questions/3107143
复制相似问题