Я пытаюсь создать соединение IPSec VPN с аутентификацией сертификата x.509 для пользователей.
Далее следует тест для запуска и не является безопасной реализацией. Я получу сертификат из надежного источника, когда это заработает, а пока я использую самоподписанный.
Я использую Windows 10 20H2
1- Я создаю корневой сертификат с XCA.
2- Я создаю запрос на подпись сертификата, скажем, для моего первого пользователя vpn.
3- Я подписываю запрос с помощью XCA
4- Я экспортирую запрос из XCA в формате PEM
5- Я устанавливаю OpenSSL и устанавливаю переменную env OPENSSL_CONF в openssl.cfg в папке установки. Я использовал https://slproweb.com/products/Win32OpenSSL.html (64bit) для openSSL на W10
6- Веселье начинается.
Насколько я понимаю, я должен добавить сертификат на машине с Windows через mmc в командной строке с помощью сертификата оснастки. Мастер сложения штуковина. Он не принимает формат 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
Я довольно много искал и не могу найти точное значение этой ошибки, и я подумываю выдергивать волосы один за другим в качестве жизнеспособной альтернативы.
переименование в .crt и добавление к локальным сертификатам дало мне ошибку:
file type is not recognizable. Select another file.
Кроме того, даже при указании полного пути в 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"
-----BEGIN CERTIFICATE REQUEST-----
MIIDGjCCAgICAQAwgaExCzAJBgNVBAYTAkNBMQ8wDQYDVQQIEwZRVUVCRUMxEjAQ
....
hfz1ew0RTMxZv2hMlN/wn5Y0EZKpRr5jMrgZprG7
-----END CERTIFICATE REQUEST-----
Полагаю, он должен быть указан не как запрос, а как подписанный сертификат?
UnNamed решил мою проблему. большой привет им.
в XCA не сразу понятно, когда вы подписываете запрос, что его нужно экспортировать из другой вкладки, сертификатов.
В корневом сертификате, используемом для подписи сертификата пользователя, - это раскрывающийся список с ПОДПИСАННЫМ сертификатом пользователя. Я смог без проблем экспортировать его и добавить в mmc после создания в нем настраиваемого представления для сертификатов.
Продолжаем настраивать VPN отсюда.
Сертификат должен находиться в том же каталоге, что и openssl.exe
, или указать полный/абсолютный путь, например C:\temp\cert.pem
.
Расширение файла crt предназначено для Windows, содержимое имеет формат base64 PEM. Нет необходимости «конвертировать» контент. Просто переименуйте расширение файла с .pem
на .crt
.