一、准备工作:

1、 下载win64的Openssl,可到http://slproweb.com/products/Win32OpenSSL.html下载,这里下载1.0.1j版本。同时在该地址下载Visual C++ 2008Redistributables (x64)。如下图:

先安装Visual C++ 2008Redistributables (x64),然后安装Win64 OpenSSL v1.0.1j。这里我安装到D:\OpenSSL-Win64\目录下。

2、 下载Openssl源码,去官网http://www.openssl.org/下载即可。如下图:

解压openssl-1.0.1j.tar.gz,找到\openssl-1.0.1j\apps目录,拷贝demoCA目录和openssl.cnf文件到Openssl的安装目录下的bin目录下(即D:\OpenSSL-Win64\bin\)。

3、在D:\OpenSSL-Win64\bin目录下,创建ca、jks、server、client四个目录。

二、开始生成证书:


打开命令提示行(cmd.exe),----如果是win7环境需要以管理员身份运行cmd.exe(一般在C:\Windows\System32下查找到cmd.exe右建以管理员身份运行),

并切换到Openssl安装目录的bin目录下。如下图:


依次执行下述命令。

(一)生成CA证书

1.创建私钥:

D:\OpenSSL-Win64\bin>opensslgenrsa -out ca/ca-key.pem 1024

2.创建证书请求:

D:\OpenSSL-Win64\bin>opensslreq -new -out ca/ca-req.csr -key ca/ca-key.pem -config openssl.cnf

-----

Country Name (2 letter code) [AU]:CN

State or Province Name (full name) [Some-State]:BJ

Locality Name (eg, city) []:BJ

Organization Name (eg, company) [Internet Widgits PtyLtd]:ple

Organizational Unit Name (eg, section) []:live

Common Name (eg, YOUR name) []:root

Email Address []:

 

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

3.自签署证书:

D:\OpenSSL-Win64\bin>opensslx509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days3650

4.将证书导出成浏览器支持的.p12格式:

D:\OpenSSL-Win64\bin>opensslpkcs12 -export -clcerts -in ca/ca-cert.pem -inkey ca/ca-key.pem -out ca/ca.p12

密码:passca

(二)生成server证书

1.创建私钥:

D:\OpenSSL-Win64\bin>opensslgenrsa -out server/server-key.pem 1024

2.创建证书请求:

D:\OpenSSL-Win64\bin>opensslreq -new -out server/server-req.csr -key server/server-key.pem -config openssl.cnf

-----

Country Name (2 letter code) [AU]:CN

State or Province Name (full name) [Some-State]:BJ

Locality Name (eg, city) []:BJ

Organization Name (eg, company) [Internet Widgits PtyLtd]:ple

Organizational Unit Name (eg, section) []:live

Common Name (eg, YOUR name) []:localhost   注释:一定要写服务器所在的ip地址//红色这里是本机测试,所以我写localhost

Email Address []:

 

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

3.自签署证书:

D:\OpenSSL-Win64\bin>opensslx509 -req -in server/server-req.csr -out server/server-cert.pem -signkeyserver/server-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial-days 3650

4.将证书导出成浏览器支持的.p12格式:

D:\OpenSSL-Win64\bin>opensslpkcs12 -export -clcerts -in server/server-cert.pem -inkey server/server-key.pem-out server/server.p12

密码:passca

(三)生成client证书

1.创建私钥:

D:\OpenSSL-Win64\bin>opensslgenrsa -out client/client-key.pem 1024

2.创建证书请求:

D:\OpenSSL-Win64\bin>opensslreq -new -out client/client-req.csr -key client/client-key.pem -config openssl.cnf

-----

Country Name (2 letter code) [AU]:CN

State or Province Name (full name) [Some-State]:BJ

Locality Name (eg, city) []:BJ

Organization Name (eg, company) [Internet Widgits PtyLtd]:ple

Organizational Unit Name (eg, section) []:live

Common Name (eg, YOUR name) []:client

Email Address []:

 

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

3.自签署证书:

D:\OpenSSL-Win64\bin>opensslx509 -req -in client/client-req.csr -out client/client-cert.pem -signkeyclient/client-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial-days 3650

4.将证书导出成浏览器支持的.p12格式:

D:\OpenSSL-Win64\bin>opensslpkcs12 -export -clcerts-in client/client-cert.pem -inkey client/client-key.pem -out client/client_err.p12

密码:passca

5. 生成客户端证书导出成浏览器支持的.p12格式(用于导入浏览器):

D:\OpenSSL-Win64\bin>opensslpkcs12 -export -clcerts -in ca/ca-cert.pem -inkey ca/ca-key.pem -outclient/client.p12

密码:passca

(四)根据ca证书生成jks文件

D:\OpenSSL-Win64\bin>keytool -keystore D:/OpenSSL-Win64/bin/jks/truststore.jks -keypass 222222-storepass 222222 -alias ca -import -trustcacerts -file D:/OpenSSL-Win64/bin/ca/ca-cert.pem

(五)配置tomcat ssl

修改conf/server.xml。配置如下。xml 代码

<Connectorport="8443" protocol="org.apache.coyote.http11.Http11Protocol"SSLEnabled="true"              maxThreads="150" scheme="https"secure="true" connectionTimeout="20000"               clientAuth="true"sslProtocol="TLS" useBodyEncodingForURI="true"enableLookups="false" acceptorThreadCount="2"socketBuffer="18000" maxHttpHeaderSize="262144"                keystoreFile="server.p12"keystorePass="passca" keystoreType="PKCS12"               truststoreFile="truststore.jks"truststorePass="222222" truststoreType="JKS"               SSLCertificateFile="../bin/server-cert.pem"                SSLCertificateKeyFile="../bin/server-key.pem" />

这里使用到了四个文件,各个文件都是在前面的步骤中生成的。

蓝色标识的server.p12和truststore.jks这两个文件需要放在tomcat的根目录下(如C:\Venustech\TSOC\webserver)。

红色的server-cert.pem和server-key.pem默认是放在tomcat的bin文件夹下的(如C:\Venustech\TSOC\webserver\bin)。

☆绿色部分为必须的,否则证书不生效。

(六)验证ssl配置是否正确

访问系统http://localhost :8443/usm。如图:

(七)导入证书

将ca/ca.p12,client/client.p12分别导入到IE中去(打开IE->;Internet选项->内容->证书)。

ca.p12导入至受信任的根证书颁发机构,client.p12导入至个人。

重新访问系统。

注:1、细心的不难发现生成client.p12跟ca.p12是一样的,我测试时发现导入正常方式的client_err.p12不能正常访问系统,导入ca.p12能正常访问,有了解的大神帮助解决下。


win64使用openssl生成ca证书相关推荐

  1. Apache OpenSSL生成CA证书使用

    最近在学习SSL协议,这次是基于Apache服务器自带的openssl来实现的 TLS:传输层安全协议 SSL:安全套接字层 KEY:私钥 CSR:证书签名请求,即公钥,生成证书时需要将此提交给证书机 ...

  2. 24、OpenSSL生成CA证书及终端用户证书

    1.准备ca.conf配置文件​​​​​​​ 内容如下 [ req ] default_bits = 4096 distinguished_name = req_distinguished_name[ ...

  3. nginx反向代理cas-server之2:生成证书,centOS下使用openssl生成CA证书(根证书、server证书、client证书)...

    前些天搭好了cas系统,这几天一致再搞nginx和cas的反向代理,一直不成功,但是走http还是测试通过的,最终确定是ssl认证证书这一块的问题,原本我在cas服务端里的tomcat已经配置了证书, ...

  4. OpenSSL生成CA自签名根证书和颁发证书和证书提取

    CA根证书 生成流程 第一步 生成CA证书私钥 1.#生成ca私钥 (.key 和 pem 只是格式不一样) openssl genrsa -aes128 -passout pass:Test@202 ...

  5. openssl给内网IP生成ca证书(ssl证书)

    一.要使用 OpenSSL 为内网 IP 生成 CA 证书,您需要遵循以下步骤: 1.创建一个存放证书的文件夹 mkdir /opt/zhengshu 注意:大家自己按照自己的目录创建就行,我的直接放 ...

  6. 使用openssl生成CA、server、client私钥和证书(证书包括公钥)

    参考:SSL证书制作并使用NodeJs进行HTTPS认证配置 - 苍青浪 - 博客园 1. 生成CA证书及私钥: 1)生成一个私钥为ca-key.pem openssl genrsa -out ca- ...

  7. OpenSSL创建生成CA证书、服务器、客户端证书及密钥

    使用OpenSSL创建生成CA证书.服务器.客户端证书及密钥 目录 使用OpenSSL创建生成CA证书.服务器.客户端证书及密钥 (一)生成CA证书 (二)生成服务器证书 (三)生成客户端证书 (四) ...

  8. Windows使用Openssl生成免费证书

    一.安装 下载 Win32/Win64 OpenSSL Installer for Windows - Shining Light Productionshttp://slproweb.com/pro ...

  9. fiddler证书生成ca证书命令及抓包配置

    fiddler证书生成ca证书命令 下载OpenSSL fiddler配置https fiddler导出证书 将文件直接放到openssl的bin目录下 执行cmd命令生成ca证书 将证书放到andr ...

最新文章

  1. GEB:南土所梁玉婷组-大陆尺度下稻田土壤微生物β多样性的纬度分布特征
  2. 用MacBook对交换机进行初始化配置
  3. 【字符串处理算法】最长连续字符及其出现次数的算法设计及C代码实现
  4. 焊接件技术要求怎么写_钣金焊接件生锈了怎么办
  5. Extjs之RowNumberer
  6. python中for和while可以有else_Python 中的for,if-else和while语句
  7. 【数据结构与算法】二叉查找树的Java实现
  8. practical of programming 第二章 java的quick sort
  9. SpringMVC、SpringBoot拦截器的实现和原理
  10. C语言考试知识点汇总(理论知识点)
  11. 计算机软件毕业论文教师指导记录,毕业论文导师指导记录【毕业论文指导记录(精选多篇)】...
  12. 头像制作软件有哪些?2022微信头像制作软件推荐
  13. 如何将PPT进行压缩?PPT压缩的方法是什么
  14. Understanding unsupervised domain adaption
  15. 怎么看待“别人恐惧我贪婪,别人贪婪我恐惧 “这句话
  16. 数据库——完整性约束条件
  17. 常见的四种计量标识及其含义(CNAS / ILAC / CMC / CMA)
  18. Certificate Vending Machine – Amazon IoT 设备接入 Amazon IoT 平台解决方案
  19. 『腾讯后台开发』实习生技能要求
  20. 乐融致新不再纳入乐视网合并报表范围 融创已是最大股东

热门文章

  1. 2005年我研读了的书籍
  2. labview霍夫曼编码_香农编码与霍夫曼编码
  3. Node.Js同步实现歌词显示
  4. 分享几种有趣的加密方式和几个在线加解密网址
  5. 听课感悟——信息与数字化
  6. 程序员工作五年之后,我转行成为公务员,分享一下切身体会
  7. Android 显示 一、 Vsync
  8. USB设备仿真框架设计指南——7.USB设备模拟器示例
  9. mysql的经典sql语句大全_经典SQL语句大全_基础篇_提升篇_技巧篇_开发经典篇
  10. HZK16实现电子书