标签:项目 oda 现在 推荐 row www 实体 sha extern
在启用 HTTPS 之前,你需要一个有效的证书,如果你已经有了一个有效的证书,你可以直接跳过这个步骤,进入 step 2。你可以创建一个自签名的证书,或者从信任的 Certificate Authority 中获得一个证书。
如果你的项目小组计划使用 Confluence 服务器移动 app。你需要你的证书是从信任的证书签发机构签发的。你不能使用自签名的证书或者从一个不信任的机构获得的证书,或者自由 CA。
当你需要进行加密,但是你并不需要对网站的的请求校验的话,自签名证书能够帮助你完成这个。在通常的情况下,你可以在你的测试环境下签发你的自签名证书,你也可以在你公司内部的网络上签发自签名证书。
因为证书不是信任的组织签发的(CA),用户可能会收到站点不被信任,并且提供一个步骤让用户先确定,才能访问网站的信息。这个通常是在第一次访问网站的时候出现的提示。如果你使用的 Confluence 的移动 app 的话,用户不能通过你的自签名证书访问你的 Confluence 站点。
在这个情况下,我们需要使用 Java 的 keytool
工具包。这个工具包是包含在 JDK 中的。如果你对命令行工具并不是十分熟悉的话,你可以考虑使用 KeyStore Explorer 工具。
使用 keytool 来创建一个自签名证书:
从命令行中,为你的操作系统运行正确的命令:
Windows
"%JAVA_HOME%\bin\keytool" -genkeypair -keysize 2048 -alias tomcat -keyalg RSA -sigalg SHA256withRSA |
Linux (and MacOS)
$JAVA_HOME/bin/keytool -genkeypair -keysize 2048 -alias tomcat -keyalg RSA -sigalg SHA256withRSA |
当出现提示后,为你的证书创建 密码(password ),私有 key。
仅使用数字和英文字符。如果你使用了特殊字符,Tomcat 可能会出现错误。
请记录你创建的密码,在下一步中你需要使用到你创建的密码。
默认的密码是 'changeit
'。
根据提示来确定证书的细节。这些信息被用来构造 X.500 实体中的 Distinguished Name (DN) 。
First and last name:这个不是你的名字,这个是 Common Name (CN),例如 'confluence.example.com'。CN 必须与 Confluence 使用的域名完全对应,否则 Tomcat 将不能使用你签名的证书。
Organizational unit:这个是证书使用的部门或者小组,例如 'marketing'。
Organization:是你公司的名字,例如 'SeeSpaceEZ'。
City, State / province, country code:这个是你公司的地理位置,例如 Sydney, NSW, AU。
输出将会如下所示。输入 'y
' 来确定你输入的内容。
CN=confluence.example.com, OU=Marketing, O=SeeSpaceEZ, L=Sydney, ST=NSW, C=AU |
当被询问为 'tomcat' 准备使用的 密码(password )的时候,输入你第二步中输入的密码(在输入密码后单击回车)。
'tomcat' 是你在 keytool 命令行中输入的别名,在这里用来对你提示。
你 keystore 实例必须和你的私有 key 有相同的密码。这个是 Tomcat 服务器要求的。
你的证书现在已经可以用了,进入 下面 的第二步。
在生产环境中,你需要使用从 Certificate Authority (CA) 签发的证书。下面的内容是从 Tomcat documentation 中拷贝出来的。
首先你需要创建本地证书,然后基于你创建的本地证书再创建一个 'certificate signing request' (CSR) 。你需要提交 CSR 到你的选择的 CA 提供商上进行收取。CA 将会通过 CSR 将授权后的证书发给你。
使用 Java 的 keytool
工具来创建一个本地证书(请按照上面第一步所描述的内容)。
从命令中,将会返回下面的命令工具来创建所需要前面的证书。
keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr -keystore <MY_KEYSTORE_FILENAME> |
替换 <MY_KEYSTORE_FILENAME>
为路径和你本地证书创建 .keystore
的文件名。
提交创建的文件为 certreq.csr
到你希望进行授权的 CA。
请参考 CA 的文档来找到如何进行这个操作。
CA 将会发个你已经签名好的证书。
导入新证书到你的本地的 keystore:
keytool -importcert -alias tomcat -keystore <MY_KEYSTORE_FILENAME> -file <MY_CERTIFICATE_FILENAME> |
一些 CA 可能要求你在安装你的证书之前先安装一个中间人证书。你应该按照 CA 提供的文档来完成你本地证书的成功安装。
如果你使用的是 Verisign 或 GoDaddy,然后你收到了错误的信息,你可能需要将 PKCS12 和你的私钥(private key)同时导出。
首先,删除添加到 keystore 中的所有 key:
keytool -delete -alias tomcat -keystore <MY_KEYSTORE_FILENAME> |
然后导出为 PKCS12 格式:
openssl pkcs12 -export -in <MY_CERTIFICATE_NAME> -inkey <MY_PRIVATEKEY_NAME> -out <MY_PKC12_KEYSTORE_NAME> -name tomcat -CAfile <MY_ROOTCERTIFICATE_NAME-alsoCalledBundleCertificateInGoDaddy> -caname root |
然后导入 PKCS12 到 jks 中:
keytool -importkeystore -deststorepass <MY_DESTINATIONSTORE_PASSWORD> -destkeypass <MY_DESTINATIONKEY_PASSWORD> -destkeystore <MY_KEYSTORE_FILENAME> -srckeystore <MY_PKC |
https://www.cwiki.us/display/CONF6ZH/Running+Confluence+Over+SSL+or+HTTPS
Confluence 6 通过 SSL 或 HTTPS 运行 - 创建或请求一个 SSL 证书
标签:项目 oda 现在 推荐 row www 实体 sha extern
原文地址:http://blog.51cto.com/ossez/2156565