IT story

개발 SSL에 makecert 사용

hot-time 2021. 1. 5. 19:16
반응형

개발 SSL에 makecert 사용


내 상황은 다음과 같습니다.

두 개의 내부 서버와 함께 모든 개발자의 컴퓨터에 설치 될 SSL 인증서를 만들려고합니다 (모든 것이 비 프로덕션 임).

이러한 모든 위치에 설치할 수있는 인증서를 생성하려면 어떻게해야합니까?

지금은 Microsoft Visual Studio 8 \ SDK \ v2.0 \ Bin의 makecert 응용 프로그램을 사용하여 다음과 같은 내용이 있습니다.

makecert -r -pe -n "CN=MySite.com Dev" -b 01/01/2000 -e 01/01/2033 -eku 1.3.6.1.5.5.7.3.1 -ss Root -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 mycert.cer

그러나이 .cer 파일을 다른 컴퓨터에 배치하는 방법을 잘 모르겠습니다. 로컬 컴퓨터 IIS에이 파일을 설치할 때 https :를 통해 페이지를 방문 할 때마다 보안 프롬프트가 표시됩니다 ( '인증서를 설치했습니다). 전에이 일을 한 사람이 있습니까?


이 작업을 수행하는 스크립트는 다음과 같습니다.

인증 기관 생성

서명 (-sky 서명)을 위해 SHA1 (-r)을 사용하여 내보낼 수있는 개인 키 (-pe)와 함께 자체 서명 된 인증서 (-r)를 만듭니다. 개인 키는 파일 (-sv)에 기록됩니다.

makecert -r -pe -n "CN=My Root Authority" -ss CA -sr CurrentUser ^
         -a sha1 -sky signature -cy authority -sv CA.pvk CA.cer

(^ = 일괄 명령 줄에서 줄 바꿈 허용)

서버 인증서 생성

키 교환 (-sky 교환)을 위해 SHA1 (-a)을 사용하여 내보낼 수있는 개인 키 (-pe)로 서버 인증서를 만듭니다. SSL 서버 인증서 (-eku 1.3.6.1.5.5.7.3.1)로 사용할 수 있습니다. 발급 인증서는 키 (-iv)와 마찬가지로 파일 (-ic)에 있습니다. 특정 암호화 공급자 (-sp, -sy)를 사용합니다.

makecert -pe -n "CN=fqdn.of.server" -a sha1 -sky Exchange ^
         -eku 1.3.6.1.5.5.7.3.1 -ic CA.cer -iv CA.pvk ^
         -sp "Microsoft RSA SChannel Cryptographic Provider" ^
         -sy 12 -sv server.pvk server.cer

pvk2pfx -pvk server.pvk -spc server.cer -pfx server.pfx

그런 다음 서버 앱에서 .PFX 파일을 사용하거나 IIS에 설치합니다. 기본적 pvk2pfx으로는 출력 PFX 파일에 암호를 적용하지 않습니다 . 이를 위해 -po스위치 를 사용해야합니다 .

모든 클라이언트 컴퓨터가이를 신뢰하도록하려면 인증서 저장소 (신뢰할 수있는 루트 권한 저장소)에 CA.cer설치 하십시오 . 도메인에있는 경우 Windows 그룹 정책을 사용하여이를 전역 적으로 수행 할 수 있습니다. 그렇지 않은 경우 certmgr.msc MMC 스냅인 또는 certutil 명령 줄 유틸리티를 사용할 수 있습니다.

certutil -user -addstore Root CA.cer

IIS 6.0에서 프로그래밍 방식으로 인증서를 설치하려면 이 Microsoft KB 문서를 참조하십시오 . IIS 7.0의 경우 모르겠습니다.


-cy authority인증 기관을 만들 때 스위치에 추가해야합니다 . 그렇지 않으면 일부 인증서 저장소에서 적절한 CA로 인식하지 못합니다.

참조 URL : https://stackoverflow.com/questions/496658/using-makecert-for-development-ssl

반응형