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. 为OLED屏添加GUI支持3:字库

    为OLED屏添加GUI支持3:字库 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN10 开发环境:MDK5.13 MCU:STM3 ...

  2. POJ 1088: 滑雪(经典 DP+记忆化搜索)

    滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 74996   Accepted: 27818 Description ...

  3. 对spring默认的单列模式的理解

    我想大部分朋友对spring的单例模式都比較了解. 什么叫单例模式呢,顾名思义就是无论有多少个请求,都仅仅生成一个实例. 比方在spring中a,b请求都在调用同样的bean ,他们都是调用的同一个b ...

  4. 目标跟踪--CamShift

    转载请注明出处! !! http://blog.csdn.net/zhonghuan1992 目标跟踪--CamShift CamShift全称是ContinuouslyAdaptive Mean S ...

  5. MKVToolNix v8.2

    32位版:http://pan.baidu.com/s/1i3s4gGd 64位版: http://pan.baidu.com/s/1gdvqbpp

  6. 85.explicit作用

    #include <iostream> using namespace std; class myclass { public: int num; public: explicit myc ...

  7. 洛谷P3355 骑士共存问题

    题目描述 在一个 n*n个方格的国际象棋棋盘上,马(骑士)可以攻击的棋盘方格如图所示.棋盘上某些方格设置了障碍,骑士不得进入 对于给定的 n*n 个方格的国际象棋棋盘和障碍标志,计算棋盘上最多可以放置 ...

  8. PHP获取随机字符串的两种方法

    <?php /** * 随机返回字符串 * @param number 返回字符串长度 * @param string 从哪些字符串中随机返回,已设置默认字符串,可空 * @return str ...

  9. gitlab-ce-11.0.1 安装及汉化

    1.添加gitlab源(我这里使用了清华大学的源)cat <<EOF> /etc/yum.repos.d/gitlab-ce.repo[gitlab-ce]name=gitlab-c ...

  10. Mysql学习总结(2)——Mysql超详细Window安装教程

    目录 一.安装包准备 二.开始安装 三.验证安装 四.客户端工具 一.安装包准备 1.下载MySql5.6 http://www.mysql.com/ 下载如下教程,这时要选MySql On Wind ...