如何在 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)
我看过戈莎包 http://golang.org/pkg/crypto/rsa/。看起来 EncryptPKCS1v15() 可能相当于 RSA_private_encrypt()。但除了使用GenerateKey()之外,我不知道如何创建PrivateKey对象,这(可以通过查看来确认)来源 http://golang.org/src/pkg/crypto/rsa/rsa.go#L139)使用随机素数生成一个。
我是否需要弄清楚如何解码 PEM 文件以便提取 PrivateKey 字段的值?
Update:与上述 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 中是否有现有的等效项?
我认为您可能正在寻找 crypto/tls,而不是 crypto/rsa。
我不是 100% 确定您在这里要做什么,但 tls 包确实具有一些读取 PEM 文件的功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)