【问题标题】:Decrypt data using private key in SSL context in openssl (ssl_st)在 openssl (ssl_st) 中使用 SSL 上下文中的私钥解密数据
【发布时间】:2017-03-28 02:06:28
【问题描述】:

是否可以从 SSL* 上下文变量中获取 TLS 会话的私钥?我有一个用公钥加密的字符串,我想使用 SSL* 上下文中的相应私钥对其进行解密。

我试过了,但是不行:

EVP_PKEY_CTX *ctx;
ctx = EVP_PKEY_CTX_new(pkey, NULL);
EVP_PKEY_decrypt(ctx, *out, &outlen, in, inlen)

在哪里: pkeys->cert->key->privatekey(s 是 TLS 会话中已经存在的 SSL* 变量)

in/inlen是加密后的字符串,

out/outlen 是预期的输出。

欢迎提出任何建议。谢谢。

【问题讨论】:

    标签: encryption openssl key private


    【解决方案1】:

    抱歉,该代码实际上可以工作,只是填充有问题。

    我在打电话:

    EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_OAEP_PADDING);
    

    我一删除那行,解密就起作用了。我不知道为什么,任何人都可以解释填充是如何工作的?我的意思是,我应该知道使用了哪种填充还是可以忽略它(即删除该行)

    【讨论】:

      猜你喜欢
      • 2017-07-07
      • 1970-01-01
      • 2020-02-28
      • 1970-01-01
      • 2011-05-26
      • 2018-02-13
      • 2016-05-18
      • 2021-02-22
      相关资源
      最近更新 更多