1

使用https://support.comodo.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=3&nav=0,33 我生成了“server.csr”以进一步创建公共证书。然后我得到了两个加密密钥。我尝试相应地在 config.tcl 中进行更改,但项目打开的应用程序仍然指向本地证书。config.tcl 的部分代码,我在其中进行了如下更改:

ns_section ns/server/${server}/module/nsopenssl/sslcontexts
ns_param users "SSL context used for regular user access"
ns_section ns/server/${server}/module/nsopenssl/defaults
ns_param server users
ns_section ns/server/${server}/module/nsopenssl/sslcontext/users
ns_param Role server
ns_param ModuleDir ${serverroot}/etc/certs/
ns_param CertFile newcert.pem
ns_param KeyFile keyfile.pem
ns_param CADir ca
ns_param CAFile shipo_cert.txt
ns_param Protocols "SSLv2, SSLv3, TLSv1"
ns_param CipherSuite "ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP"
ns_param PeerVerify false
ns_param PeerVerifyDepth 3
ns_param Trace false

shipo_cert.txt 是随另一个证书 shipo_interm.txt 一起提供的证书。

我搜索并尽力而为,但无法做到。请帮我解决这个问题。

PS项目开放实例已经使用openssl处理自签名证书。但我的组织希望它与他们提供的证书一起运行

4

1 回答 1

2
DF > Have you packed your private key and the signed public key,
DF > together with the CA keychain, into a .p12 file yet? 
Victor > how to do that? please guide me through

之前已在将中间证书添加到 JBoss 中的 pkcs12 文件中回答了这个问题。

假设您拥有 example.com 的证书和私钥:

openssl pkcs12 -export -in www-example-com.crt -inkey www.example.key -out www-example-com.p12

确保您的证书(www-example-com.crt上面)具有构建有效链所需的所有中间证书;不仅仅是服务器的证书。这意味着www-example-com.crt将有多个 PEM 条目。

使用以下方法对其进行测试。ca.pem是您的 CA 的根证书。

echo -e "GET / HTTP/1.0\r\n" | openssl s_client -connect example.com:443 -CAfile ca.pem

你应该以Verify return code: 0 (ok).

于 2014-04-17T04:53:38.067 回答