在 OpenSSL 中使用 DER 编码的 RSA 公钥

威廉·查帕

我需要通过线路接收 RSA 公钥并使用它来加密数据以发送回服务器。我无法控制密钥服务器发送的格式,必须使用当前的实现。

我已经在python中实现了协议,

key_bin = get_server_key() # "30818902818100e8ecd6f1..."
key = Crypto.PublicKey.RSA.importKey(key_bin)
padded_data = add_rsa_padding(data)
encrypted_data = key.encrypt(padded_data, 0)[0]
send_data(encrypted_data)

现在我在将它移植到 C++ 库时遇到了麻烦,最好使用 OpenSSL,但我找不到以非 PEM 格式加载公钥的方法,并且在接收时将其动态转换为 PEM 似乎是一个糟糕的主意。我可能错过了一些 API,有人可以帮忙吗?

普拉斯

如果您已经拥有 DER 编码的公钥,您可以d2i_RSAPublicKey()将其转换为 OpenSSL 内部结构RSA,然后可以与各种其他 OpenSSL API 一起使用来执行您的加密

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章