下面的代码在Heroku-18堆栈上运行良好
p12_file = File.read(uploaded_p12_file_path)
pkcs12 = OpenSSL::PKCS12.new p12_file, password
但在升级到Heroku-22 Stack之后,相同的代码会引发以下错误:
PKCS12_parse: unsupported
用户可以通过Web上的输入表单上传其p12文件及其密码。
我们正在使用Ruby 3.1.2。奇怪的是,它可以在本地开发机器上工作,但不能在Heroku上工作。有人知道吗?任何帮助都是感激不尽的。
1条答案
按热度按时间t98cgbkg1#
我也遇到了同样的错误。OpenSSL 3中有很多对PKCS12 API的更新,其中包括对传统算法的弃用,这就是我们遇到的问题。根据您的设置,如果您能够将证书转换为X509,您应该能够回到正轨。首先是:p12证书在同一个文件中包含证书及其密钥。对于X509证书,它们需要是单独的文件。您可以使用以下命令将它们都导出:
我在一个
SSLContext
中使用它们,这是我添加私钥的地方:我希望你能在你的应用程序中使用同样的概念。