我正在尝试为用户创建具有 x.509 证书身份验证的 IPSec VPN 连接。
接下来是一个让事情顺利进行的测试,并不是一个安全的实现。当我得到这个工作时,我将从受信任的来源获得证书,同时我正在使用自签名。
我在 Windows 10 20H2 上
1- 我用 XCA 创建了一个根证书。
2- 我为我的第一个 vpn 用户创建了一个证书签名请求。
3- 我用 XCA 签署请求
4-我以 PEM 格式从 XCA 导出请求
5- 我安装 OpenSSL 并将环境变量 OPENSSL_CONF 设置为安装文件夹中的 openssl.cfg。我在 W10 上使用https://slproweb.com/products/Win32OpenSSL.html(64位)作为 openSSL
6- 乐趣开始了。
据我了解,我必须使用管理单元证书通过命令行中的 mmc 在 Windows 机器中添加证书。添加向导的东西。它不接受 pem 格式,它需要一个 crt。
然后我参考 OpenSSL 进行格式转换
当我输入 x509 -in CERT.pem -out CERTII.crt
我收到以下错误:
Can't open CERT.pem for reading, No such file or directory
15732:error:02001002:system library:fopen:No such file or directory:crypto\bio\bss_file.c:69:fopen('CERT.pem','r')
15732:error:2006D080:BIO routines:BIO_new_file:no such file:crypto\bio\bss_file.c:76:
unable to load certificate
error in x509
我已经搜索了很多,但找不到这个错误的确切含义,我正在考虑将头发一根一根地拔出来作为一种可行的选择。
编辑 2020-12-11 1600
重命名为 .crt 并添加到本地证书给了我一个错误:
file type is not recognizable. Select another file.
此外,即使使用 admin priv. 在 openssl cli 中指定完整路径,我也会收到错误消息。
例如,如果我将证书复制到 OpenSSL 文件夹中,并尝试执行命令“openssl x509 -in CERT.pem -out CERT.crt”,则会出现以下错误:
"unable to load certificate
15252:error:0909006C:PEM routines:get_name:no start line:crypto\pem\pem_lib.c:745:Expecting: TRUSTED CERTIFICATE
error in x509"
编辑 2020-12-10 1610 - 证书片段
-----BEGIN CERTIFICATE REQUEST-----
MIIDGjCCAgICAQAwgaExCzAJBgNVBAYTAkNBMQ8wDQYDVQQIEwZRVUVCRUMxEjAQ
....
hfz1ew0RTMxZv2hMlN/wn5Y0EZKpRr5jMrgZprG7
-----END CERTIFICATE REQUEST-----
我猜它不应该被列为请求,而是作为签名证书?
编辑 2020-12-10 1626 EST
UnNamed 解决了我的问题。对他们大喊大叫。
在 XCA 中,当您签署请求时,并不清楚它需要从不同的选项卡(证书)导出。
在用于签署用户证书的根证书下,是一个带有已签名用户证书的下拉列表。在为其中的证书创建自定义视图后,我能够将其导出并将其添加到 mmc 中而不会出现问题。
继续从这里设置 VPN。
证书需要与 位于同一目录中,
openssl.exe
或者指定完整/绝对路径,例如C:\temp\cert.pem
.crt 文件扩展名适用于 Windows,内容为 base64 PEM 格式。无需“转换”内容。只需将文件扩展名从 重命名
.pem
为.crt
.