如何使用Go编程语言使用从PEM文件中读取的RSA私钥进行加密?

如何在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中是否存在现有的等效项?


MYYA
浏览 453回答 2
2回答

一只名叫tom的猫

我认为您可能正在寻找crypto / tls,而不是crypto / rsa。我不确定您要在这里做什么,但是100%不确定tls软件包确实具有读取PEM文件的功能。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go