[ipsec][strongswan] 用strongswan pki工具生成自签名证书
如题。我在实验环境里,分别要为两个endpoint(T9和T129)生成证书。
证书是如何生成的呢?
证书是由根证书机构签发的。申请证书的人将request提交给根证书机构,然后根证书机构根据request返还一个签好名的证书。
首先,要弄出这三个人来。(生成私钥)
[root@T9 OUTPUT]# ./bin/pki --gen --type ed25519 --outform pem > tong.pem
[root@T9 OUTPUT]# ./bin/pki --gen --type ed25519 --outform pem > t9.pem
[root@T9 OUTPUT]# ./bin/pki --gen --type ed25519 --outform pem > t129.pem
tong是根证书机构的实体。T9和T129是两个endpoint。
然后,tong建立了一个根证书机构。它并不是个权威,它的机构也不是权威机构。所以,我们管这个叫“自签名证书” (生成根证书)
[root@T9 OUTPUT]# ./bin/pki --self --ca --lifetime --in tong.pem --dn "C=CH, O=tong, CN=tong Root CA" --outform pem > tongCert.pem
建好了~~~
T9和T129分别用私钥生成自己的request
[root@T9 OUTPUT]# ./bin/pki --req --type priv --in t9.pem --dn "C=CH, O=t9, CN=t9.tong.localhost" --san t9.tong.localhost --outform pem > t9Req.pem
[root@T9 OUTPUT]# ./bin/pki --req --type priv --in t129.pem --dn "C=CH, O=t129, CN=t129.tong.localhost" --san t129.tong.localhost --outform pem > t129Req.pem
tong用自己的根证书,拿着两个request,分别给T9和T129颁发证书
[root@T9 OUTPUT]# ./bin/pki --issue --cacert tongCert.pem --cakey tong.pem --type pkcs10 --in t9Req.pem --serial --lifetime --outform pem > t9Cert.pem
[root@T9 OUTPUT]# ./bin/pki --issue --cacert tongCert.pem --cakey tong.pem --type pkcs10 --in t129Req.pem --serial --lifetime --outform pem > t129Cert.pem
好了,来个全家福
[root@T9 OUTPUT]# ls -l
-rw-r--r-- root root Dec : t129Cert.pem
-rw-r--r-- root root Dec : t129.pem
-rw-r--r-- root root Dec : t129Req.pem
-rw-r--r-- root root Dec : t9Cert.pem
-rw-r--r-- root root Dec : t9.pem
-rw-r--r-- root root Dec : t9Req.pem
-rw-r--r-- root root Dec : tongCert.pem
-rw-r--r-- root root Dec : tong.pem
[root@T9 OUTPUT]#
那,为啥要这样搞呢?
因为在计算机的世界里,证书代表着信任传递。作为用户是弱势群体,我们没法判断一个站点或者server是不是骗子。但是我们相信权威根证书机构就都是好人。(不过也有例外,想当年某权威机构签名了某Cert的证书来使其完成不可告人的目的。导致开源社区里纷纷删除了该根证书。)
一般的客户端,浏览器。OS里都会授权信任根证书。然后所以在这个根证书机构签过名的子机构,凭着他们的签名证书,我们也将信任他们。
回到我的例子里。实验中,我的两个endpoint会分别信任根证书tongCert.pem。然后他们会彼此检测对方的签名证书是否被信任。
更多:[https][openssl] OpenSSL 公钥、私钥以及自签名证书
完。
[ipsec][strongswan] 用strongswan pki工具生成自签名证书的更多相关文章
- keytool工具生成自签名证书并且通过浏览器导入证书
1.生成服务器证书库 keytool -genkey -alias tomcat -keypass changeit -keyalg RSA -keysize 1024 -validity 365 - ...
- 使用terraform 生成自签名证书
terraform 是一个很不错的基础设施工具,我们可以用来做关于基础设施部署的事情,可以实现基础设施即代码 以下演示一个简单的自签名证书的生成(使用tls provider) main.tf 文件 ...
- cmd命令生成android签名证书
cmd命令生成android签名证书,有空在写一篇eclipse导出带签名的apk,这里面包括生成新的签名.现在还是讲讲在cmd怎么操作生成签名证书. 1.dos下进入JDK的bin目录 运行如下命令 ...
- openssl生成自签名证书
1.生成x509格式的CA自签名证书 openssl req -new -x509 -keyout ca.key -out ca.crt 2.生成服务端的私钥(key文件)及申请证书文件csr文件 o ...
- windows下使用makecert命令生成自签名证书
1.makecert命令路径 C:\Program Files (x86)\Windows Kits\8.1\bin\x64 2.生成一个自签名证书 makecert -r -pe -n " ...
- 用OpenSSL生成自签名证书在IIS上搭建Https站点(用于iOS的https访问)
前提: 先安装openssl,安装有两种方式,第一种直接下载安装包,装上就可运行:第二种可以自己下载源码,自己编译.这里推荐第一种. 安装包:http://slproweb.com/products/ ...
- ios生成自签名证书,实现web下载安装app
抄自http://beyondvincent.com/blog/2014/03/17/five-tips-for-using-self-signed-ssl-certificates-with-ios ...
- 生成自签名证书-开启https
1.生成CA证书 # 生成 CA 私钥 openssl genrsa -out ca.key 2048 # X.509 Certificate Signing Request (CSR) Manage ...
- OpenSSL使用1(用OpenSSL生成自签名证书在IIS上搭建Https站点)(用于iOS的https访问)
前提: 先安装openssl,安装有两种方式,第一种直接下载安装包,装上就可运行:第二种可以自己下载源码,自己编译.这里推荐第一种. 安装包:http://slproweb.com/products/ ...
随机推荐
- Hadoop小文件存储方案
原文地址:https://www.cnblogs.com/ballwql/p/8944025.html HDFS总体架构 在介绍文件存储方案之前,我觉得有必要先介绍下关于HDFS存储架构方面的一些知识 ...
- 简单理解 RPC(转载)
原文地址:http://www.syyong.com/architecture/Simple-understanding-of-RPC.html RPC(Remote Procedure Call P ...
- IE 下js里面new Date("2017-07-11 08:00:00") 出现NAN的问题以及解决方法
在js里面用了这个方法 var $date= new Date("2017-07-11 08:00:00") 可是打印的时候为 NAN.查了下 只有IE下有这个问题,然后我 ...
- WebViewJavascriptBridge 进行js 与native通信。
1, iOS端加载web页面.开启日志并给webView建立JS与OC的桥梁 - (void)viewWillAppear:(BOOL)animated { if (_bridge) { retur ...
- 基于Python37配置图片文字识别
以管理员权限打开cmd控制台. 1.如何安装PIL 输入下面命令:pip install Pillow 参考:https://www.cnblogs.com/mrgavin/p/8177841.htm ...
- easyUI的汇总列,在前端生成
1.easyUI初始化,启用汇总列,showFooter:true 2.后台json有默认的footer的值 {"total":28,"rows":[ {&qu ...
- JQuery DataTables Selected Row
获取单行选中的值 $('#MonitoringTypeTable tbody').on('click', 'tr', function () { if ($(this).hasClass('selec ...
- NO.2 安装配置
检测当前系统下的jdk安装情况: [root@Centos 桌面]# rpm -qa | grep java tzdata-java-2012j-1.el6.noarch java-1.7.0-ope ...
- 【nodejs】初识 NodeJS(二)
上一节我们构建了一个基础的 http 服务器,我们可以接收 http 请求,但是我们得做点什么吧 – 不同的 http 请求,服务器应该有不同的响应. 路由模块 处理不同的 http 请求在我们的代码 ...
- Centos7.0下Nexus私服搭建
1.下载nexus wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.11.2-03-bundle.tar. ...