我已经从 verisign 获得了试用根证书(有效期大约为 15 天),并将其导入到由 jdk keytool 创建的 keystore 中。所需的所有步骤,即创建 csr 以获得证书(非自签名)等都已发布。
这些是 keystore 包含的文件:
- 私钥
- verisgin 获得的试用根证书
- 我自己的证书由 csr 创建并从 verising 获得
遗憾的是,firefox返回的数据是上次创建时keystore中包含的私钥对应的数据。
我怀疑与从 csr 创建的证书的 CN 有关,可能那条数据应该包含运行应用程序的主机的 FQDN。我正在使用 JBoss 4.x 作为应用程序。服务器和配置的server.xml连接器元素,所谓的配置如下:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
redirectPort="8443"
maxThreads="3000" scheme="https" secure="true"
strategy="ms"
address="${jboss.bind.address}"
keystoreFile="${jboss.server.home.dir}/conf/t2facebook.jks"
keystorePass="TPC.961"
truststoreFile="${jboss.server.home.dir}/conf/t2facebook.jks"
truststorePass="TPC.961"
sslProtocol="TLS"
clientAuth="true"/>
提前致谢!
PS:顺便说一下,我从 firefox 得到的错误是:sec_error_ca_cert_invalid
请您参考如下方法:
已解决,我正在使用与私钥别名不同的别名导入证书。只需在私钥的相同别名下导入证书(或链或证书,我指的是根证书、中间证书和从 csr 获得的证书),就可以正常工作。