zoukankan      html  css  js  c++  java
  • [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 3652 --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 01 --lifetime 1826 --outform pem > t9Cert.pem
    [root@T9 OUTPUT]# ./bin/pki --issue --cacert tongCert.pem --cakey tong.pem --type pkcs10 --in t129Req.pem --serial 01 --lifetime 1826 --outform pem > t129Cert.pem

    好了,来个全家福

    [root@T9 OUTPUT]# ls -l
    -rw-r--r-- 1 root root 538 Dec 15 17:05 t129Cert.pem
    -rw-r--r-- 1 root root 119 Dec 15 16:57 t129.pem
    -rw-r--r-- 1 root root 395 Dec 15 17:05 t129Req.pem
    -rw-r--r-- 1 root root 530 Dec 15 17:05 t9Cert.pem
    -rw-r--r-- 1 root root 119 Dec 15 16:57 t9.pem
    -rw-r--r-- 1 root root 387 Dec 15 17:04 t9Req.pem
    -rw-r--r-- 1 root root 534 Dec 15 16:57 tongCert.pem
    -rw-r--r-- 1 root root 119 Dec 15 16:56 tong.pem
    [root@T9 OUTPUT]# 

    那,为啥要这样搞呢?

    因为在计算机的世界里,证书代表着信任传递。作为用户是弱势群体,我们没法判断一个站点或者server是不是骗子。但是我们相信权威根证书机构就都是好人。(不过也有例外,想当年某权威机构签名了某Cert的证书来使其完成不可告人的目的。导致开源社区里纷纷删除了该根证书。)

    一般的客户端,浏览器。OS里都会授权信任根证书。然后所以在这个根证书机构签过名的子机构,凭着他们的签名证书,我们也将信任他们。

    回到我的例子里。实验中,我的两个endpoint会分别信任根证书tongCert.pem。然后他们会彼此检测对方的签名证书是否被信任。

    更多:[https][openssl] OpenSSL 公钥、私钥以及自签名证书

    完。

  • 相关阅读:
    第七周作业
    第六周作业
    练习题
    使用dockerfile创建httpd镜像
    Docker 安装步骤和命令使用
    harbor安装报错no config file: /root/harbor/harbor.yml
    systemctl 启动编译安装nginx
    Linux下onvif客户端获取h265 IPC摄像头的RTSP地址
    Onvif获取rstp地址GetCapabilities能力时,出现error 4或者52的的解决方法
    Linux下onvi支持h265环境的的搭建:gsoap的安装及生产.c .h文件
  • 原文地址:https://www.cnblogs.com/hugetong/p/10123971.html
Copyright © 2011-2022 走看看