SSL证书请求文件(CSR)生成指南 - Tomcat 和 J2EE Application Server
重要注意事项 An Important Note Before You Start
在生成CSR文件时同时生成您的私钥,如果您丢了私钥或忘了私钥密码,则颁发证书给您后不能安装成功!您必须重新生成私钥和CSR文件,免费重新颁发新的证书。为了避免此情况的发生,请在生成CSR后一定要备份私钥文件和记住私钥密码,最好是在收到证书之前不要再动服务器。
By far the most common problem users have when going through this process is related to private keys. If you lose or cannot access a private key, you cannot use the certificate we issue to you and will need to request a free reissue. To ensure this never happens, we advise that a backup of the private key file is made and that a note is made of the password that is used to protect the export of the private key.
您可以使用"keytool"来生成私钥和CSR文件,如果您的服务器上没有安装keytool,请先下载安装:
The utility "keytool" that you use to generate the private key (keyEntry) and CSR comes with the Sun JDK toolkit. If you do not have JDK installed please download it from the following link: http://java.sun.com/J2SE/downloads.html,We recommend that the latest version be used, which is 1.5.0.
以下为生成 keystore 和 keyentry 指南,Tomcat 支持 JKS 和 PKCS#12 格式的 keystore,JKS 格式是标准的 “Java Keystore”格式,使用 keytool 命令产生;而 PKCS#12 格式则可以通过使用Openssl中的转换工具转换而成。本指南仅指keytool方式的JKS格式。 The following sequence of commands will generate a keystore and keyEntry. Tomcat currently supports JKS and PKCS#12 format keystores. The JKS format is Java's standard "Java KeyStore" format, and is the format generated by the keytool command-line utility which is packaged in the JDK kit. The PKCS#12 format is a general format which can be converted using the Openssl toolkit. The following instructions make use of keytool only.
1. 生成 keystore 和 keyEntry, Generate a keystore and keyEntry
请使用以下命令,并参考下图: Please type the following command at the prompt:
keytool -genkey -alias [keyEntry_name] -keyalg RSA -keystore [keystore_name] -keysize 2048
请注意:如果您不指定一个 keystore 名称(不使用参数 -keystore), 则 keystore 文件将保存在您的用户目录中(如:C:\Documents and Settings\your name\.keystore),文件名为:.keystore
Note: If you do not specify a keystore (-keystore omitted from the command) name, the keystore will be saved to your local profile directory as a .keystore file (i.e C:\Documents and Settings\your name\.keystore)
系统会提示您输入 keystore 密码,缺省密码为:changeit,您可以指定一个新的密码,但请一定要记住。
When you execute this command you will be prompted for a keystore password. The default password used by Tomcat is "changeit" although you can specify a password of your choice.
接着,会提示“What is your fist and last name?”,请输入您要申请SSL证书的域名,而不是真的输入您的个人姓名,如果您需要为www.domain.com申请SSL证书就不能只输入domain.com。SSL证书是严格绑定域名的。
The term "First and last name" is X.509 speak for the name that distinguishes the certificate best, and ties it to your Organization. Enter your exact host and domain name that you wish to secure. Example: If you wish to secure www.mydomain.com, then you will need to enter the exact host (www) and domain name (mydomain.com) in this field. If you enter mydomain.com then the certificate issued to you will only work error free on https://mydomain.com. It will cause a certificate mismatch error when you or your users access the domain via https:// www.mydomain.com.
接着,输入您的部门名称、单位名称、所在城市、所在省份和国家缩写(中国填:CN,其他国家填其缩写),单位名称一定要与证明文件上的名称一致,部门名称(OU)可以不填。除国家缩写必须填CN外,其余都可以是英文或中文。
Enter your country, state or province and locality or city. You should enter the company name as it appears on your official company registration documents. The organization unit is optional, we verify and authenticate the company name and not the organization unit. To skip the organization unit (OU) field please press enter on your keyboard.
最后,要求您输入私钥密码, 请一定要为 keystore 和 keyEntry 输入一样的密码,否则您重新启动Tomcat后会提示错误信息:java.security.UnrecoverableKeyException: Cannot recover key。同时,请一定要记住密码!
Finally, you will be prompted for the keyEntry password, which is the password which protects the private key. Please specify the same password for the keystore and the keyEntry or else you will receive the following error message when you restart the Tomcat engine: java.security.UnrecoverableKeyException: Cannot recover key
2. 生成CSR, Generate the CSR
请使用以下命令,并参考下图: Please type the following command at the prompt:
keytool -certreq -alias [keyEntry name] -file request.csr -keystore [keystore name]
CSR文件(request.csr)会保存在 JDK/bin 目录,这样就完成了公钥和私钥对的生成,私钥(keyEntry)保存在JDK/bin目录中,公钥则需要发给WoTrust签名后颁发证书。CSR文件为文本文件,如下图示。
The CSR will be saved to your JDK/bin directory. You have now created a public/private key pair. The private key (KeyEntry) is stored inside the keystore in the JDK/bin directory and is used for decryption. The public portion is sent to WoTrust in the form of a Certificate Signing Request (request.csr), and will be used by your users to encrypt the data they send to your site. The Certificate Signing Request (CSR) looks something like this:
3. 备份私钥文件 Backup your private key
请备份您的keystore文件并记下私钥密码。最好是把私钥文件备份到软盘或光盘中。
Please backup your keystore file and make a note of the password. A good choice is to create a copy of this file onto a diskette or other removeable media.
4. 测试CSR和把CSR发给WoSign, Start the certificate request process
生成CSR后,建议您自己测试一下生成的CSR文件是否正确,请点击 这里 测试您的CSR文件。请把测试成功的CSR文件发给WoSign即可。请一定不要再动您的服务器,等待证书的颁发。
To submit the CSR to WoSign for processing you should start the certificate enrollment process.