一、准备工作:

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. IDEA 13 tomcat 进行远程调试
  2. 第四课:算法效率的度量和存储空间需求
  3. linux下如何使用USB转串口设备
  4. C++ 传指针还是引用?
  5. 学习笔记(24):Python网络编程并发编程-进程与线程的区别
  6. 线程,代码和数据–多线程Java程序实际运行的方式
  7. Android中获取应用程序(包)的信息-----PackageManager的使用(一)
  8. 6种快速统计代码执行时间的方法,真香!(史上最全)
  9. D5000工作站服务器型号,【戴尔Precision T5820参数】戴尔Precision T5820系列工作站参数-ZOL中关村在线...
  10. 美团买菜:采购量提升至平时3-4倍 提供无接触配送服务
  11. “支付功能”怎么测试?
  12. Mysql binlog 的写入机制
  13. Hadoop和Spark三大核心组件介绍与对比
  14. caffe的protocol buffer使用例子
  15. 【TSP】基于matlab GUI蚁群算法求解旅行商问题【含Matlab源码 929期】
  16. FME转换器 正则字符查找(StringSearcher)
  17. 微博数据各字段的含义
  18. 如何使用工时表软件跟踪时间和成本?
  19. lecture9-提高模型泛化能力的方法
  20. 关于人工智能的一些幻想

热门文章

  1. Android中 ComponentName 组件的使用
  2. beh部署-datanode节点添加
  3. jasperreports6.12.2 could not load the following font解决方法
  4. 理解运筹学||数学规划
  5. C# 取消按钮焦点 (非自定义控件)
  6. 【BraTS】Brain Tumor Segmentation 脑部肿瘤分割3--构建数据流
  7. Ajax与Axios的区别
  8. 正则匹配纯数字(Oracle、Postgresql、Hive)
  9. linux安装新字体的方法
  10. JAVA 1052:计算邮资