![ИЗМЕНИТЬ 2020-12-11 1600](https://rvso.com/image/760980/%D0%98%D0%97%D0%9C%D0%95%D0%9D%D0%98%D0%A2%D0%AC%202020-12-11%201600.png)
Я пытаюсь создать 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(64 бит) для openSSL на W10
6- Начинается самое интересное.
Насколько я понимаю, мне нужно добавить сертификат на машину Windows через mmc в командной строке, используя snap-in cert. мастер добавления штука. Он не принимает формат 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.
Кроме того, даже при указании полного пути в командной строке openssl с правами администратора я получаю ошибку.
Если, например, я копирую сертификат в папку 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"
EDIT 2020-12-10 1610 - Фрагмент сертификата
-----BEGIN CERTIFICATE REQUEST-----
MIIDGjCCAgICAQAwgaExCzAJBgNVBAYTAkNBMQ8wDQYDVQQIEwZRVUVCRUMxEjAQ
....
hfz1ew0RTMxZv2hMlN/wn5Y0EZKpRr5jMrgZprG7
-----END CERTIFICATE REQUEST-----
Полагаю, это должно быть указано не как запрос, а как подписанный сертификат?
ИЗМЕНИТЬ 2020-12-10 1626 EST
UnNamed решили мою проблему. Огромное им спасибо.
в XCA не сразу понятно, когда подписываешь запрос, что его нужно экспортировать из другой вкладки — сертификаты.
Под корневым сертификатом, используемым для подписи сертификата пользователя, находится раскрывающийся список с ПОДПИСАННЫМ сертификатом пользователя. Мне удалось экспортировать его и добавить в mmc без проблем после создания в нем пользовательского представления для сертификатов.
Продолжаем настройку VPN отсюда.
решение1
Сертификат должен находиться в том же каталоге, что и файл, openssl.exe
или необходимо указать полный/абсолютный путь, например C:\temp\cert.pem
.
Расширение файла crt предназначено для Windows, содержимое — формат base64 PEM. Не нужно «конвертировать» содержимое. Просто переименуйте расширение файла с .pem
на .crt
.