자체 서명 된 SSL 인증서를 작성하는 방법


64

웹 서버에서 SSL을 설정했는데 두 개의 파일이 필요합니다.

  • 증명서
  • 인증서 키

테스트 목적으로 자체 서명 인증서를 작성하는 방법

답변:


93

'최소한'맛조차도 우분투에는 ssl-cert패키지가 사전 설치되어 있으므로 별도의 작업을 수행 할 필요가 없습니다.

찾고있는 파일은 이미 시스템에 있습니다.

/etc/ssl/certs/ssl-cert-snakeoil.pem
/etc/ssl/private/ssl-cert-snakeoil.key


많은, 진보 한, 많이 경과 한:

어떤 이유로 새로운 인증서를 만들어야하는 경우 다음을 실행할 수 있습니다.

sudo make-ssl-cert generate-default-snakeoil --force-overwrite 

인증서 만료 날짜를 변경하려는 경우에서에서 make-ssl-cert 스크립트를 조작 할 수 있습니다 /usr/sbin/make-ssl-cert. 124 주위에는 다음과 비슷한 줄이 있습니다.

openssl req -config $TMPFILE -new -x509 -nodes \ 

-days인수 를 추가하여 만료 날짜를 변경할 수있는 위치 :

openssl req -config $TMPFILE -new -days 365 -x509 -nodes \ 

더 많은 옵션은의 매뉴얼 페이지req 에서 찾을 수 있습니다 .


10
ubuntu-server 12.04 (AMI 클라우드 이미지)에는 기본적으로 SSL 인증서가 설치되어 있지 않습니다. 그러나 ssl-cert가 설치되면 /etc/ssl/certs/ssl-cert-snakeoil.pem이 자동으로 사용 가능해집니다.
Stann

make-ssl-cert는에서 사용할 키 길이 (및 기타 설정)를 사용 /usr/share/ssl-cert/ssleay.cnf합니다.
Tim Smith

로컬 vagrant VM 인스턴스에서 웹 사이트를 테스트하려고 할 때 완전히 정상적인 인증서처럼 작동하도록 Chrome에 원했습니다. 먼저 VM CLI www.test.mydomain.comhostname명령을 사용하여 테스트 URL (예 :)과 일치하도록 VM의 호스트 이름을 설정해야했습니다 . 그런 다음 --force-overwrite키의 CN (일반 이름)을 사용하여 제안한대로 키를 재생성 한 다음 테스트 URL과 일치시킵니다. 마지막으로 호스트 컴퓨터에서 키를 신뢰할 수있는 루트 인증 기관 (Chrome의 설정 / 고급)으로 설치하면 원하는 주소 표시 줄이 나타납니다.
Buttle Butkus

1
9 살짜리 인증서는 데비안 10으로의 업그레이드 작업을 중단했기 때문에 make-ssl-cert명령으로 하루를 절약 할 수 있었습니다 !
Jayen

23

이미 언급했듯이 Ubuntu Server에는 필요한 도구가 제공됩니다. 서버 버전에 따라 특정 설명서 를 찾아야합니다 . 현재 LTS (12.04) 의 자체 서명 인증서 생성 프로세스를 요약하려고합니다 .

먼저 CSR (Certificate Signing Request)에 대한 키를 생성합니다.

openssl genrsa -des3 -out server.key 2048

암호를 입력하는 것은 당신에게 달려 있습니다. 그럴 경우, 해당 인증서를 사용하여 서비스를 다시 시작할 때마다 암호 문구를 제공해야합니다. 안전한 암호 키없이 "안전하지 않은"키를 만들 수 있습니다.

openssl rsa -in server.key -out server.key.insecure
# shuffle the key names to continue without passphrases
mv server.key server.key.secure
mv server.key.insecure server.key

이제 키에서 CSR을 만듭니다. CSR 및 키를 사용하여 자체 서명 된 인증서를 생성 할 수 있습니다.

openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

마지막 단계는 데비안 / 우분투에서 인증서와 키를 설치하는 것입니다 /etc/ssl.

sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private

마지막으로 인증서 / 키를 사용하는 응용 프로그램을 적절히 구성해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.