나의 잡다한 노트 및 메모

openssl 명령 본문

Infra/쉘 스크립트

openssl 명령

peanutwalnut 2025. 2. 19. 17:27

openssl req \
  -new -newkey rsa:2048 \
  -days 365 \
  -nodes \
  -x509 \
  -keyout monitor.key \
  -out monitor.crt \
  -subj "/C=KR/ST=Daejeon/O=??/CN=localhost" \
  -addext "subjectAltName = DNS:localhost"

 

 

  • -x509: x.509 형식의 인증서를 직접 생성 (CSR을 만들고 다른 CA에 서명받는 대신, 바로 자체 서명)
  • -keyout monitor.key: RSA 개인 키(private key) 파일 생성
  • -out monitor.crt: 인증서(public cert) 출력
  • -subj, -addext "subjectAltName = DNS:localhost": 인증서의 주체 및 SAN 필드를 지정
  • -days 365: 인증서 유효 기간(1년)
  • -nodes: 키에 패스프레이즈(암호) 설정하지 않음

이와 같이 -x509 로 생성한 인증서는 “자체 서명(self-signed)된 서버 인증서” 입니다.
즉, “Root CA를 따로 만들고 그걸로 서버 인증서를 서명” 하는 방식이 아니라,
서버 인증서를 발급하면서 스스로 서명하여 “하나의 .crt 파일”로 완성하는 것입니다.

 

따라서 이 스크립트는 “서버 인증서+개인 키(server.crt/server.key)를 self-signed로 생성” 하는 작업입니다.

  • monitor.crt: self-signed 서버 인증서
  • monitor.key: 그 인증서에 대응되는 개인 키

일반적으로 Root CA서버 인증서가 별도로 존재하는 경우와 달리, 여기서는 서버 인증서가 스스로 서명했기 때문에 따로 CA 체인이 없고, 브라우저나 다른 클라이언트에서 연결 시 “신뢰할 수 없다”는 경고가 뜨는 형태가 됩니다.

'Infra > 쉘 스크립트' 카테고리의 다른 글

if문  (0) 2024.06.04
awk  (0) 2024.06.04
sed  (0) 2024.06.04