【问题标题】:OpenSSL hanging when trying to encrypt尝试加密时 OpenSSL 挂起
【发布时间】:2013-01-03 05:08:45
【问题描述】:

我希望这里有人对 OpenSSL 有所了解。我对 OpenSSL 完全陌生,我正在尝试实现它来加密为网上商店动态生成的 PayPal 按钮。我有一个执行此操作的 PHP 脚本,但是它不起作用,所以我决定尝试在命令提示符下运行该命令,并意识到当我尝试加密时它正在挂起。

我已经生成了一个公共证书和一个私钥,并且我已经下载了 PayPal 的公共证书。

这是我试过的命令:

(openssl smime -sign -signer C:\Users\MyName\Desktop\OpenSSLTest\my-pubcert.pem -inkey 
C:\Users\MyName\Desktop\OpenSSLTest\my-prvkey.pem -outform der -nodetach -binary 
C:\Users\MyName\Desktop\OpenSSLTest\DataToEncrypt.txt) | openssl smime -encrypt -des3 
-binary -outform pem C:\Users\MyName\Desktop\OpenSSLTest\paypal_cert.pem

当我运行此命令时,我收到以下消息:

Loading 'screen' into random state -Loading 'screen' into random state -done done

此时它挂起。有任何 OpenSSL 经验的人知道为什么这会发生在我身上吗?请记住,我以前从未使用过 OpenSSL,所以我可能会忽略一些简单的事情,这就是为什么我希望有人能指出我正确的方向。

感谢任何建议!谢谢!

【问题讨论】:

    标签: openssl rsa public-key-encryption private-key


    【解决方案1】:

    您在命令的前半部分缺少-in,该命令随后尝试从标准输入读取数据(因此挂起)。

    正确的命令行应该是

    openssl smime -sign -signer C:\Users\MyName\Desktop\OpenSSLTest\my-pubcert.pem -inkey 
    C:\Users\MyName\Desktop\OpenSSLTest\my-prvkey.pem -outform der -nodetach -binary 
    -in C:\Users\MyName\Desktop\OpenSSLTest\DataToEncrypt.txt | openssl smime -encrypt -des3 
    -binary -outform pem C:\Users\MyName\Desktop\OpenSSLTest\paypal_cert.pem
    

    注意-in 添加到第 3 行。

    然后 DataToEncrypt.txt 将被正确读取为输入文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-31
      • 1970-01-01
      • 2011-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多