【问题标题】:Use DER-encoded RSA public key with OpenSSL将 DER 编码的 RSA 公钥与 OpenSSL 一起使用
【发布时间】:2018-04-25 08:24:56
【问题描述】:

我需要通过网络接收 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,有人可以帮忙吗?

【问题讨论】:

    标签: openssl


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-05-09
      • 2017-04-16
      • 2010-11-19
      • 1970-01-01
      • 2011-03-10
      • 2016-11-05
      • 1970-01-01
      相关资源
      最近更新 更多