편집 2020-12-11 1600

편집 2020-12-11 1600

사용자를 위한 x.509 인증서 인증을 사용하여 IPSec VPN 연결을 생성하려고 합니다.

다음은 일을 진행하기 위한 테스트이며 안전한 구현은 아닙니다. 이 작업을 수행하면 신뢰할 수 있는 소스로부터 인증서를 받게 되며 그 동안에는 자체 서명된 인증서를 사용하고 있습니다.

저는 윈도우 10 20H2를 사용하고 있습니다

1- XCA로 루트 인증서를 만듭니다.

2- 첫 번째 VPN 사용자에 대한 인증서 서명 요청을 생성합니다.

3- XCA로 요청에 서명합니다.

4- XCA의 요청을 PEM 형식으로 내보냅니다.

5- OpenSSL을 설치하고 환경 변수 OPENSSL_CONF를 설치 폴더의 openssl.cfg로 설정합니다. 나는 사용했다https://slproweb.com/products/Win32OpenSSL.html(64비트) W10의 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"

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.

관련 정보