j值计算公式:申请CA方式生成数字证书

来源:百度文库 编辑:偶看新闻 时间:2024/05/05 15:30:32

在Tomcat下配置HTTPS的证书, 用户第一次访问需要下载安装证书,然后以后访问就可以以安全连接的方式访问了.配置过程首先需要使用JDK自带的keytool来生成一个keystore文件,然后从keystore文件导出一个certreq文件,然后使用该文件到www.freeca.cn 生成一个证书文件,再把该证书文件导入JVM就OK了.

 

具体配置过程如下:

( 我的参数如下: IP地址192.168.2.101,用户名是lenny,密码是123456,组织都是buaa,城市是Beijing,使用的操作系统是win7 )

1. 打开 cmd ,生成keystore文件lenny

keytool -genkey -alias lenny -keyalg RSA -keystore C:\lenny -validity 36500 -keysize 512

其中lenny是别名,可以随便取;-keyalg RSA是加密算法;-keystore C:\lenny 是生成的文件(在C盘下);       -validity 36500是有效期为10年;-keysize 512生成的密钥是512位的。

( 注意: 填写具体信息时,"名字和姓氏"一定是你的域名或IP地址,比如我在实验室没有域名,IP地址为192.168.2.101,所以我的"名字和姓氏"填写的是192.168.2.101,所以实验室的其他电脑也可以使用https访问我的Web应用程序   )

 

2. 使用 keytool -certreq 命令生成certreq文件 C:\serverreq

keytool -certreq -keystore c:\lenny -alias lenny -file c:\serverreq

 

3. 从C:\lenny.文件中生成了CSR文件C:\serverreq文件, 然后使用notepad++打开c:\serverreq文件。把里面的内容复制出来,我的文件serverreq内容大概是

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIBITCBzAIBADBnMQswCQYDVQQGEwJjbjEQMA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVp
amluZzEPMA0GA1UEChMGYmVlbHVuMQ8wDQYDVQQLEwZiZWVsdW4xEjAQBgNVBAMTCWxvY2FsaG9z
dDBcMA0GCSqGSIb3DQEBAQUAA0sAMEgCQQCYIMDa/LxbGBbdL3jEa8zMzBMKQdtNVib0rO4rVz4J
FiDfZzpsMRPaCCNR7dMN92da/hnnhrYbMQTknrMlj6dxAgMBAAGgADANBgkqhkiG9w0BAQUFAANB
AGUFd9d9FHNH6oFLMmL6s5RBW7tVa4v8j4pS5vQNGE/4DFbRv+MyyVyZvNcetlNaLjuFcyoN7PB8
N9L33Y/D9to=
-----END NEW CERTIFICATE REQUEST-----

然后打开 http://www.freeca.cn 网站,然后在申请证书Tab里面选择 CSR 申请方式,把上述内容粘贴到文本框中,然后验证 CSR,网站会让你选择一个邮箱,然后会把内容发到你邮箱里。第一封邮件是让你确认你要申请数字证书,确认后会收到第二封邮件,把里面的内容拷贝到记事本,然后保存并把后缀名改成 .cer。我取得名字是lenny.cer。

 

4. 把之前生成的C:\lenny 中的密码信息导入到 C:\lenny.cer文件中

keytool -export -keystore c:\lenny -alias lenny -file C:\lenny.cer

 

5. 把从邮箱中拷贝出的文字生成的C:\lenny.cer文件导入到JVM。导入的方法如下:

cd C:\Program Files\Java\jdk1.7.0\jre\lib\

keytool -import -keystore .\security\cacerts -alias lenny -file c:\lenny.cer

( 切记: 这一步需要输入密码,这个密码是 changeit,之前的密码都是创建keystore时的密码123456 )

 

6. 然后设置Tomcat根目录下面的/conf/server.xml,然后修改为

           port="8443" minSpareThreads="5" maxSpareThreads="75"
           enableLookups="true" disableUploadTimeout="true"
           acceptCount="100" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           keystoreFile="C:\lenny" keystorePass="123456"
           clientAuth="false" sslProtocol="TLS"/>

 

7. 然后在网页里输入https://192.168.2.101:8443/ 就可以访问了。第一次访问的时候,还会弹出Certificate Error页面。这是可以安装证书,然后以后访问就可以使用安全连接的方式了。

( 注意: 浏览器访问https时,第一次需要安装证书,记得把证书安装到Trusted Root(根)位置 )