上一节介绍了OpenSSL的目录结构,本节介绍一下SSL证书的制作。

OpenSSL安装后建议把其中的bin目录添加到系统环境变量中,方便以后操作。

  1. 建立一个新的目录SSL专门用来制作证书。

  2. 建立证书目录

    我们使用默认配置openssl.cfg,那么就要建立配置中要求的目录demoCA,使用脚本CA.pl

    CA.pl -newca

    把OpenSSL安装目录下的serial文件拷贝到demoCA目录下即可。

  3. 我们不使用demoCA提供的根证书,自己制作根证书,创建根证书的密钥文件pmroot.key

    ps: 必须输入密钥

    openssl genrsa -des3 -out pmroot.key

  4. 创建根证书的申请文件pmroot.csr

    openssl req -new -key pmroot.key -out pmroot.csr

  5. 创建一个为期十年的根证书pmroot.crt

    openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey pmroot.key -in pmroot.csr -out pmroot.crt

  6. 生成服务器端密钥文件pmserver.key

    openssl genrsa -des3 -out pmserver.key

  7. 生成服务器端证书申请文件pmserver.csr

    openssl req -new -key pmserver.key -out pmserver.csr

  8. 若需要客户端证书,安装上述证书操作分别生成pmclient.key和pmclient.csr即可。

  9. 生成的csr文件必须有CA的签名才可形成证书,用前面生成的CA证书为pmserver.csr,pmclient.csr文件签名:

    openssl ca -days 3650 -in pmserver.csr -out pmserver.crt -cert pmroot.crt -keyfile pmroot.key

    openssl ca -days 3650 -in pmclient.csr -out pmclient.crt -cert pmroot.crt -keyfile pmroot.key

这样我们需要的全部文件便生成了。

另:client使用的文件有:pmroot.crt,pmclient.crt,pmclient.key

server使用的文件有:pmroot.crt,pmserver.crt,pmserver.key

crt文件和key文件可以合到一个pfx文件里。

合并命令:openssl pkcs12 -export -in pmserver.crt -inkey pmserver.key -out pmserver.pfx

制作SSL证书的更多相关文章

  1. 在macOS平台下制作SSL证书,免费域名通配符证、单域名证书、多域名证书教程

    1.安装 home-brew 2.安装 certbot 在终端执行下面命令 brew install certbot 3.制作SSL证书 第一步: 在终端执行下面命令 sudo certbot cer ...

  2. 简单的制作ssl证书,并在nginx和IIS中使用

    2020年最后一篇博文收官,提前祝各位园友新年快乐 现在的后端开发,动不动就是需要https,或者说是需要ssl证书,既然没有正版的证书,那么我们只能自己制作ssl的证书了. 说明:证书的制作采用的是 ...

  3. openssl 自己制作ssl证书:自己签发免费ssl证书,为nginx生成自签名ssl证书

    server { listen 80; listen 443 ssl; server_name ~^((cloud)|(demo-cloud)|(demo2-cloud)|(approval1))(( ...

  4. 自己制作ssl证书:自己签发免费ssl证书,为nginx生成自签名ssl证书

    这里说下Linux 系统怎么通过openssl命令生成 证书. 首先执行如下命令生成一个key openssl genrsa -des3 -out ssl.key 1024 然后他会要求你输入这个ke ...

  5. 自己制作ssl证书

    首先执行如下命令生成一个key  openssl genrsa -des3 -out ssl.key 1024  然后他会要求你输入这个key文件的密码.不推荐输入.因为以后要给nginx使用.每次r ...

  6. tomcat安装自制作ssl证书

    1.执行命令 C:\servers\apache-tomcat-8.0.27>keytool -genkey -alias tomcat -keyalg RSA -keypass pass123 ...

  7. HTTPS那些事(二)SSL证书(转载)

    原创地址:http://www.guokr.com/post/116169/   从第一部分HTTP工作原理中,我们可以了解到HTTPS核心的一个部分是数据传输之前的握手,握手过程中确定了数据加密的密 ...

  8. HTTPS那些事(二)SSL证书

    转自:http://www.guokr.com/post/116169/ 从第一部分HTTPS原理中, 我们可以了解到HTTPS核心的一个部分是数据传输之前的握手,握手过程中确定了数据加密的密码.在握 ...

  9. 自己签发免费ssl证书

    自己制作ssl证书:自己签发免费ssl证书,为nginx生成自签名ssl证书 这里说下Linux 系统怎么通过openssl命令生成 证书. 首先执行如下命令生成一个keyopenssl genrsa ...

随机推荐

  1. Android ActivityManager.killBackgroundProcesses方法去结束

    android2.2以后,如果服务在ondestroy里加上了start自己,用kill backgroudprocess通常无法结束自己.有一种最新发现的方法,利用反射调用forceStopPack ...

  2. 创建range分区

    drop table T_PM_ACCT_DTL_AF_TEST; create table T_PM_ACCT_DTL_AF_TEST  (    DATA_DATE     date,    AC ...

  3. android逐行读取文件内容以及保存为文件

    用于长时间使用的apk,并且有规律性的数据 1,逐行读取文件内容 //首先定义一个数据类型,用于保存读取文件的内容 class WeightRecord { String timestamp; flo ...

  4. 最详细在Windows安装Xamarin.iOS教程

    最详细在Windows安装Xamarin.iOS教程 来源:http://www.cnblogs.com/llyfe2006/articles/3098280.html 本文展示了如何设立Xamari ...

  5. C++中关于const的思考

    在学习C++的过程中,经常被什么时候使用const.为什么使用const以及怎么使用const关键字这样的问题所困扰,以下是我对const的使用总结. 1.值替代 使用#define的确单缺点,第一: ...

  6. 简单粗暴地理解 JavaScript 原型链

    尼玛!你特么也是够了! Don’t BB! Show me the code! function Person (name) { this.name = name; } function Mother ...

  7. springmvc报错 org.springframework.web.servlet.DispatcherServlet

    在写springMVC时,导入所有需要的包后,运行程序,控制台报以下错误: 严重: Servlet [springDispatcherServlet] in web application [/Spr ...

  8. 一句话菜刀获取ip详细信息

    <?php $ip="你要查的ip"; $url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip ...

  9. ecshop检验邮件是否合法

    <?php /** * 验证输入的邮件地址是否合法 * * @access public * @param string $email 需要验证的邮件地址 * * @return bool */ ...

  10. IAAS云计算产品畅想-云主机的产品定位

    要研究某个产品的定位,就要先研究一下这个产品进入市场以后会影响了谁,被影响的产品产业,就是你的定位环境. 现例举一下公有云iaas服务影响了谁(按重要程度顺序): 1.企业IT 2.设备厂商 3.数据 ...