방법: CSR, 자체 서명 및 CA 인증서 생성
2465 단어 securitycertificatssltls
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
Reference
이 문제에 관하여(방법: CSR, 자체 서명 및 CA 인증서 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ysellami/how-to-generate-csr-self-signed-and-ca-certificat-j59텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)