네, 잘 작동합니다. Windows 인증 기관에는 Windows 이외의 루트에 종속 된 것으로 실행하는 데 대한 자격이 없습니다.
엔터프라이즈 모드에서 OpenSSL 루트 및 Windows 2008 R2 하위 항목으로 테스트되었습니다.
MS SSL이 OpenSSL 구성에서 기대하는 것과 잘 어울리는 몇 가지 사항은 다음과 같습니다.
자체 서명 된 루트 x509_extensions
에 대한 [req]
섹션 의 속성으로 구성된 섹션에서 유효한 AIA 및 CDP 위치가 루트 인증서에 적용되어야 합니다. 이 라인을 따라 뭔가 :
authorityInfoAccess = caIssuers;URI:http://test-rootca.test.local/root.pem
crlDistributionPoints = URI:http://test-rootca.test.local/root.crl
주어진 OpenSSL 설정은 기본적으로 하위 CA를 허용하지 않을 것입니다. 서명 된 요청의 경우이를 변경하십시오 (물론 CA가 아니어야하는 요청에 대해서는 해당 위치에 있지 않아야합니다). 이것은 섹션의 x509_extensions
속성으로 구성된 [ca]
섹션에 있습니다.
basicConstraints=CA:TRUE
certificatePolicies=2.5.29.32.0
테스트를 위해 CA를 수행 할 것입니다.
당신의 뿌리를 만드십시오 :
openssl req -new -x509 -keyout /etc/ssl/private/root.key -out /etc/ssl/certs/root.pem -nodes -extensions v3_ca
구성을 확인하고 [ca]
OpenSSL 구성 섹션 에서 필요한 파일 및 디렉토리를 작성하십시오 .
모든 것은 마이크로 소프트 측이 일을 시작하도록 설정했다. 수동 서명을 사용하여 Windows 하위 CA를 만듭니다.
인증서 요청을 OpenSSL 서버에 업로드하십시오. 이 과정에서 루트 인증서를 다운로드하십시오. 사용자가 아닌 컴퓨터의 신뢰할 수있는 루트 저장소로 가져옵니다!
하위 인증서를 발행하십시오.
openssl ca -in test-subca.req
(you might need to specify a permissive policy manually with -policy, check your config)
그래도 작동하지 않으면 CA에 새 인증서 디렉토리, 색인 파일, 직렬 파일 등의 구성 관련 문제가있을 수 있습니다. 오류 메시지를 확인하십시오.
그것이 갔다면, 그게 다입니다. 아직 작성하지 않은 경우 CRL을 작성하여 위에서 구성한 CDP에 넣으십시오. 방금 Apache를 설치하고 webroot에 끼었습니다.
openssl ca -gencrl -out /var/www/root.crl
인증서가 AIA 위치에 없으면 다음과 같이하십시오.
cp /etc/ssl/certs/root.pem /var/www/root.pem
새로 발급 된 하위 인증서를 다운로드하여 인증 기관 MMC 스냅인을 사용하여 CA에 설치하십시오. 신뢰 나 검증과 관련된 모든 문제에 대해서는 다루지 만 도덕적으로 반대하는 것은 아닙니다.
최종 결과; Enterprise PKI 스냅인에서 불만을 제기하지 않고 작동하는 Windows CA OpenSSL Generated Certificate
, 특성에 대한 설명