방법: CSR, 자체 서명 및 CA 인증서 생성

Please make sure you have openssl installed on your machine, or:



Ubuntu: apt-get install openssl
Redhat: yum install -y  openssl


CSR(인증서 서명 요청)



SSL 인증서를 주문하기 전에 서버에서 CSR을 생성하는 것이 좋습니다.

각 도메인에 대한 openssl cli의 반복을 피하기 위해 아래 스크립트를 사용하면 도메인 이름을 agr로 전달하는 것만으로 CSR 및 키를 생성할 수 있습니다.

이 스크립트는 두 개의 파일을 생성합니다.
  • .csr : SSL 인증서 구매를 위해 CertProvider에게 전송됩니다.
  • .key : 서버에서 클라이언트의 확인을 위해 데이터를 암호화하고 패키징하는 데 사용하는 개인 키입니다.

  • $ vi csr-key-generator.sh
    ---
    #!/usr/bin/env bash
    DOMAIN=$1
    if [ -z "$1" ]; then 
        echo "USAGE: $0 domain.com"
        exit
    fi
    
    # CSR Attributs, there is a possibility for CertProvider can change information(company, locality..) before issue the certificate.
    
    SUBJ="
    C=MA
    ST=ST
    O=My Company
    localityName=City
    commonName=$DOMAIN
    organizationalUnitName=IT
    [email protected]
    "
    
    # Generate CSR & Private Key
    openssl genrsa -out "$DOMAIN.key" 2048
    openssl req -new -subj "$(echo -n "$SUBJ" | tr "\n" "/")" -key "$DOMAIN.key" -out "$DOMAIN.csr"
    
    echo "done! enjoy"
    


    쉘 파일에 실행 기능을 추가하고 실행하십시오.

    $ chmod +x csr-key-generator.sh
    $ ./csr-key-generator.sh domain.com
    output: done! enjoy
    $ ls
    domain.com.csr domain.com.key
    


    CA(인증 기관)



    CA는 인터넷에서 신원을 확인하기 위해 디지털 인증서를 발행하는 주체입니다.

    $ openssl req -x509 -sha256 -days 356 -nodes  
        \ -newkey rsa:2048 
        \ -subj "/CN=root.com/C=MA/L=Locality"
        \ -keyout rootCA.key -out rootCA.crt
    


    자체 서명된 인증서



    가는 길:

    ## Use previous CSR,Key: 
    
    $ openssl x509 -req -days 365 -in domain.com.csr 
      \ -signkey domain.com.key -out domain.com.crt
    
    [OR]
    ## Use previous CA:
    
    $ vi extCert.conf
    --- 
    subjectAltName = DNS:*.domain.com
    
    $ openssl x509 -req -in domain.com.csr 
      \ -CA rootCA.crt -CAkey rootCA.key -CAcreateserial
      \ -out demo.domain.com.crt -days 365 -sha256 
      \ -extfile extCert.conf
    


    인증서 검토

    $ openssl x509 -in domain.com.crt -text -noout
    

    좋은 웹페이지 즐겨찾기