如何在 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()。但是除了使用 GenerateKey() 之外,我没有看到如何创建 PrivateKey 对象,它(可以通过查看源来确认)使用随机素数生成一个。
我是否需要弄清楚如何解码 PEM 文件以便提取 PrivateKey 字段的值?
更新:在 Python 中与上述 C++ 代码等效的是:
from M2Crypto import RSA
rsa_private_key = RSA.load_key('privkey.pem')
encrypted = rsa_private_key.private_encrypt(digest, RSA.pkcs1_padding)
Go 中是否存在现有的等价物?