| |||
|
|
|
5、如何产生2048位的密钥对?
在上面的命令行交互中,我们看到“Generating a 1024 bit RSA private key”,即系统缺省采用1024位的RSA密钥长度,一般来说1024位是足够的,但是在申请EV证书的时候,我们必须采用2048位的密钥长度,要生成2048位的密钥,可以修改上面的命令行:(斜体部分为增加的参数)
openssl req -new -nodes -newkey rsa:2048 -keyout server.key -out server.csr
6、如何制作中文的CSR文件?
中文CSR文件,主要指企业名称、部门,城市,省份等信息采用中文,通用名和国家代码仍然必须是英文的,GeoTrust目前已经全面支持中文的CSR,要制作中文的CSR,最简单的办法仍然是采用我们的在线CSR生成器: https://www.myssl.cn/openssl/createcsr.asp
如果希望自己通过Openssl工具来制作中文CSR就需要多费一些工夫了,下面详细介绍一下采用Openssl命令行制作中文CSR的方法。
Openssl本身是可以支持UTF-8编码来支持中文的,但是如果通过DOS命令行是无法输入UTF-8的中文字符的,所以我们必须采用Opnessl.cnf配置文件的缺省值来实现中文字的输入。采用一个文本编辑器,最好是支持utf-8字符的,我采用UltraEdit,打开Openssl.cnf文件,首先修改:
string_mask = utf8only
这句话将强制字符的输入采用UTF-8的编码格式,然后修改缺省DN信息,录入我们需要合中文字符,如下
commonName_default = www.myssl.cn 0.organizationName_default = 上海迅通科技有限公司 organizationalUnitName_default = IT 部门 stateOrProvinceName_default = 上海 localityName_default = 上海 countryName_default = CN
然后将文件按utf-8,no bom的编码格式保存,在Ultraedit下,请选择“另存为”,格式为“UTF-8 - NO-BOM”。如果没有可以支持UTF-8的编辑工具,也可以下载一个ICONV来做编码转换工作。
准备好openss.cnf文件后,输入命令行:
openssl req -utf8 -config config.cnf -new -nodes -batch -keyout server.key -out server.csr
系统将自动生成CSR文件,保存在server.csr中。
CSR已经做好,最后强调,必须同时保存好server.csr和server.key2个文件,尤其是server.key一定丢失,将无法再使用这个证书。
JSSE模式。
常见的JKS文件制作,要采用Keytool工具,这个工具是JRE自带的。通过命令行的方式输入CSR信息,而且可以支持中文资料。
首先,生成一个新的jks文件,命令如下:
keytool -genkey -alias tomcat -keyalg RSA -keystore c:\server.jks
输入密钥库密码:changeit 您的姓名是什么? [未知]: www.myssl.cn 您的组织单位名称是什么? [未知]: Shanghai Fastcom Technology Co.,Ltd 您的组织名称是什么? [未知]: It Dept. 您的市/县/区或地点名称是什么? [未知]: Shanghai 您的省/直辖市名称是什么? [未知]: Shanghai 此单位的两字母国家或地区代码是什么? [未知]: CN CN=www.myssl.cn, OU="Shanghai Fastcom Technology Co.,Ltd", O=It Dept., L=Shanghai, ST=Shanghai, C=CN 正确吗? (输入“yes”或“no”) [否]: Y 为 <tomcat> 输入密钥密码 (如果与密钥库密码相同则返回):
说明:
输入keystore密码: 请输入保护证书密钥的密码。
您的名字与姓氏是什么?请输入域名,例如:www.myssl.cn
您的组织单位名称是什么?请输入单位名称,如: Shanghai Fastcom Technology Co Ltd
您的组织名称是什么?请输入部门名称,如: IT Dept
您所在的城市或区域名称是什么?输入城市名称,如:Shanghai
您所在的州或省份名称是什么?输入省份名称,如:Shanghai
该单位的两字母国家代码是什么?中国请输入CN
CN=www.myssl.cn, OU=Shanghai Fastcom Technology Co Ltd, O=IT Dept, L=Shanghai, ST=Shanghai, C=CN 正确吗?输入 Y
输入
根据这个jks文件产生一个csr文件,输入命令:
keytool -certreq -alias tomcat -keystore server.jks -file server.csr
将证书内容存为一个文件:
您会收到一封来自迅通诚信的邮件,证书内容附在邮件中。如果证书是以附件的形式(Cert.cer)夹带在邮件中,您就可以直接应用它。如果您的证书中以文本的方式存在邮件中,您就需要将邮件中的证书部分的内容用Vi或Notepad存成一个纯文本文件。不要将其存成Microsoft Word 或其它字处理软件格式,并确定证书内容中不含有空行和空格,文件名可以为server.cer。如下所示:
Openssl模式
1、Resin4.0中采用resin.xml来配置SSL参数,如下:
<resin xmlns="http://caucho.com/ns/resin"> <cluster id="http-tier"> <server id="a" address="192.168.1.12"> <http port="443"> <openssl> <certificate-file>server.cer</certificate-file> <certificate-key-file>server.key</certificate-key-file> <password>my-password</password> </openssl> </http> </server> ... </resin>
2、Resin3是在Resin.conf文件中配置SSL参数,如下:
... <http port="443"> <openssl> <certificate-file>server.cer</certificate-file> <certificate-key-file>server.key</certificate-key-file> <password>my-password</password> </openssl> </http>
3、Resin2是在Resin.conf文件中配置SSL参数,如下:
... <http port='443'> <ssl/> <certificate-file>server.cer</certificate-file> <certificate-key-file>server.key</certificate-key-file> <key-store-password>password</key-store-password> </http>
JSSE模式
1、 请使用P7B在线转换工具将server.cer转换为P7B文件:
请用Notepad打开server.cer文件,将其中的全部内容(包含-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----),将全部内容复制到P7B在线转换工具中的文本框中,然后点击“合成P7B文件”。待合成成功后,下载文件,保存为cert.txt。
2. 然后运行命令,将CA签好的证书文件cert.txt导入jks文件:
keytool -import -keystore server.jks -alias tomcat -file cert.txt
3. 如果是Resin4.0,修改resin.xml文件,如下
<resin xmlns="http://caucho.com/ns/resin"> <cluster id=""> <server-default> <http port="443"> <jsse-ssl> <key-store-type>jks</key-store-type> <key-store-file>server.jks</key-store-file> <password>changeit</password> </jsse-ssl> </http> </server-default> ... </cluster> </resin>
5、如果是Resin 3.x,修改resin.conf文件,如下
<resin xmlns="http://caucho.com/ns/resin"> <server> <http port="443"> <jsse-ssl> <key-store-type>jks</key-store-type> <key-store-file>server.jks</key-store-file> <password>changeit</password> </jsse-ssl> </http> ... </http-server> </caucho.com>
6、如果是Resin 2.x,修改resin.conf文件,如下
<caucho.com> <http-server> <http port=8443> <ssl>true</ssl> <key-store-file>server.jks</key-store-file> <key-store-password>changeit</key-store-password> </http> ... </http-server> </caucho.com>
Openssl模式
和其他支持Openssl的服务器方式比较类似,只需要加入客户证书根证书文件指认就可以了,增加配置如下:
<ca-certificate-file>clientroot.cer</ca-certificate-file> <verify-client>required</verify-client>
JSSE模式
如果采用JSSE模式的Resin,首先需要修改配置文件如下:
<verify-client>required</verify-client>
在配置中文件,我们是无法指定客户证书根证书信息的,那么Resin是如何来信任客户证书的呢?Resin其实是信任JRE缺省的JKS文件中的信任根证书,这个文件是jre/lib/security/cacerts,缺省的密码是changeit,找到这个文件,并将客户证书的根证书保存在clientroot.cer中,输入如下命令:
keytool -import -trustcacerts -keystore cacerts -alias root -file clientroot.cer
法律声明 | 关于我们 | 联系我们 | 招聘信息 © 2002 - 2017 上海迅通科技有限公司(myssl.cn) 版权所有 沪ICP备06031562号 |