OPENSSL 制作 Ikev2证书

在一个 VPS 上配置 IKEV2 VPN 服务器时,用 OPENSSL 制作了所需的数字证书,奇怪的怎么弄都无法连接服务器,一直提示 “IKE_SA 链接超时” 。最后实在没辙了,怀疑到是不是证书有问题,因为平时都是用 ipsec pki 生成证书的。于是按照网上的教程用 ipsec pki 制作证书,结果很顺利的登入服务器。

一、仔细对比了 ipsec pki 和 OPENSSL 签发的证书,区别还是有的:

1. 在证书的常规项里面,ipsec pki 的证书明确指出 “保证远程计算机的身份” 和 “允许 Internet 上的安全通信”

2. 在证书扩展项里面,ipsec pki 的证书指出用于 “服务器身份验证” 和 “IP 安全 IKE 中级” ,同时使用了 “使用者可选名称”,内容为 DNS Name

     

二、再对比了制作证书的指令:

1. 在建立根证书的时两者基本差别不大,

2. 在签发证书时,ipsec pki 使用了 san 扩展和几个 flag

ipsec pki 签发 server 证书

    ipsec pki --gen --type rsa --size 4096 --outform pem > vpnkey.pem

    ipsec pki --pub --in vpnkey.pem --type rsa | ipsec pki --issue --lifetime 1825 --cacert ca.pem --cakey cakey.pem \
    --dn "C=US, O=VPN Server, CN=vpn-do.yourshell.info" \
    --san vpn-do.yourshell.info --flag serverAuth --flag ikeIntermediate \
    --outform pem > vpn.pem

Ikev2证书 需要支持 IKE 协议(因特网密钥交换协议) ,同时支持“使用者可选名称“(SAN 扩展,多域名证书)以提高设备的兼容性

三、在谷歌上搜索一番,修改 openssl.cnf 如下

在 [ new_oids ] 配置段中加入

ikeIntermediate = 1.3.6.1.5.5.8.2.2

在 [ req ] 配置段中加入

utf8 = yes

修改 [ usr_cert ] 配置段

basicConstraints=CA:true

nsCertType = server, client, email, objsign

keyUsage = nonRepudiation, digitalSignature, keyEncipherment

extendedKeyUsage = serverAuth,clientAuth,codeSigning,emailProtection, ikeIntermediate

修改 [ v3_req ] 配置段

# Extensions to add to a certificate request

extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection, ikeIntermediate

basicConstraints = CA:true

keyUsage = nonRepudiation, digitalSignature, keyEncipherment

subjectAltName = @alt_names

[ alt_names ]

DNS.1 = 域名1

DNS.2 = 域名2

四、最后在 签发证书的时,使用 -extensions v3_req  参数

openssl ca -extensions v3_req -in user_csr.pem -out user_cert.crt -days 3650

参考地址

OpenSSL SAN 证书 http://liaoph.com/openssl-san/

SSLConfig        http://wiki.cacert.org/Roots/OpenSSLConfig

OPENSSL 制作 Ikev2证书的更多相关文章

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

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

  2. openssl生成ssl证书

    openssl生成ssl证书 x509证书一般会用到三类文,key,csr,crt. Key 是私用密钥openssl格,通常是rsa算法. Csr 是证书请求文件,用于申请证书.在制作csr文件的时 ...

  3. 制作SSL证书

    上一节介绍了OpenSSL的目录结构,本节介绍一下SSL证书的制作. OpenSSL安装后建议把其中的bin目录添加到系统环境变量中,方便以后操作. 建立一个新的目录SSL专门用来制作证书. 建立证书 ...

  4. 转 openssl 建立服务器证书

    openssl 建立服务器证书 ##  1,建立目录和文件     set path=D:/openssl/bin     D:     cd D:/openssl/conf/     ren ope ...

  5. openssl制作双向认证经过验证可行

    openssl制作双向认证经过验证可行 http://www.360doc.com/content/12/0524/15/2150778_213390447.shtml 2012-05-24  履历馆 ...

  6. makecert 制作数字证书 给DLL加一个数字签名

    声明:文章整理自互联网 我仅需要给dll添加(替换)一个签名,所以我只看了第一步和第三步,其余的部分我没有测试,不能保证内容的是否正确. 看了很多关于DLL加签名的教程 大多是错误的 完全无法正常走下 ...

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

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

  8. 制作SM2证书

    前段时间将系统的RSA算法全部升级为SM2国密算法,密码机和UKey硬件设备大都同时支持RSA和SM2算法,只是应用系统的加解密签名验证需要修改,这个更改底层调用的加密动态库来,原来RSA用的对称加密 ...

  9. linux下利用openssl来实现证书的颁发(详细步骤)--转载和修改

    原文地址:http://www.cnblogs.com/firtree/p/4028354.html linux下利用openssl来实现证书的颁发(详细步骤) 1.首先需要安装openssl,一个开 ...

随机推荐

  1. 紫书 例题 10-12 UVa 1637(概率计算)

    以9元组来代表当前状态,每一元是每一堆剩下的牌数 枚举当前状态所有可以拿掉牌的情况,然后递归下去求 概率,当牌拿完的时候概率为1 那么这里的实现非常的秀,用到了vector来代表9元组 然后还用到了m ...

  2. 用C3P0建立server与数据库的连接

    1:在MyEclipse建立 Web Service Project 2:在project中建立servlets包 3:在包中新建Servlet文件(採用new Servlet方法可省去配置web.x ...

  3. Draw the RGB data from kinect C++ via opengl

    In order to improve my English writing skills,I am going to  write the blogs in English form now! -- ...

  4. QThread 爬坑之旅(三种办法解决QObject: Cannot create children for a parent that is in a different thread)

    Cannot create children for a parent that is in a different thread. 在Qt的官方文档,大家知道有两种方式使用QThread. You ...

  5. 在Qt 4.4中,Alien Widget诞生了(Window负责与窗口系统的联系。Alien被号称是所有闪烁的终结者)

    2011年09月29日 23:47:46 阅读数:7269 Qt 4.0 automatically double-buffers Qt 4.1 QWidget::autoFillBackground ...

  6. Cookie与Session的区别与联系及生命周期

    Cookie与Session的区别与联系及生命周期 一.Session与Cookie介绍 这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会 ...

  7. 让透明div里的文字不透明

    最近在工作中遇到一个问题,我在div里写上文字,当我把div变为半透明的时候,里面的文字也会随之透明.情况如下: <div class="box"> 这是一段不应该透明 ...

  8. apache-maven-3.0.4-bin.zip

    http://zhidao.baidu.com/share/2a8974fd1546ef5f11ad9cccb3cabf88.html apache-maven-3.0.4-bin.zip

  9. javaScript [[scope]]学习笔记

    在javaScript 学习中,闭包肯定是一个让人头疼的问题,而闭包必定离不开[[scope]]作用域 scope存储了执行期上下文的集合 而了解scope以及scope链又是一个十分抽象的问题 我们 ...

  10. 原生js实现多组图片切换

    这几天一直在练习原生js写效果,需要理清自己的逻辑,做了一个切换多组图片的效果: css样式: * { margin: 0; padding: 0; } body { background: #303 ...