我有我的 ipn paypal my-prvkey.pem , my-pubcert.pem
就这样,没有问题
var httpsOptions = {
key: fs.readFileSync('./app/certsandkeys/my-prvkey.pem'),
cert: fs.readFileSync('./app/certsandkeys/my-pubcert.pem'),
requestCert: true
}
但是在我将我的站点证书和由 openssl 创建的 key 添加到我的代码中之后
var httpsOptions = {
key: [fs.readFileSync('./app/certsandkeys/my-prvkey.pem'),fs.readFileSync('./app/certsandkeys/ssl/server.key')],
cert: [fs.readFileSync('./app/certsandkeys/my-pubcert.pem'),fs.readFileSync('./app/certsandkeys/ssl/server.crt')],
requestCert: true
}
现在我得到这个错误,我不知道为什么
错误:error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
来自docs for options.key :
Multiple keys using different algorithms can be provided either as an array of unencrypted key strings or ...
tests使用 RSA 和椭圆曲线。您几乎肯定拥有并想要两个相同的算法 key ,并且它不会帮助您使用不同的算法,因为您无法知道客户端最终会协商什么。
如 my answer for your other question ,如果您希望不同的客户端获得不同的 key /链,那么您可以使用 SNI 在域名上这样做,并在 URL 中为客户端提供各自的主机。无法让客户端检查两个链,然后告诉您的服务器使用哪个 key 。
我是一名优秀的程序员,十分优秀!