대화식이 아닌 자동으로 SSL 인증서를 만들고 싶습니다. 즉, 데이터를 요구하지 않습니다.
인증서를 만드는 일반적인 방법은 다음과 같습니다.
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 \
-keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
나는 다음을 시도했다.
openssl genrsa -out server.key 2048
touch openssl.cnf
cat >> openssl.cnf <<EOF
[ req ]
prompt = no
distinguished_name = req_distinguished_name
[ req_distinguished_name ]
C = GB
ST = Test State
L = Test Locality
O = Org Name
OU = Org Unit Name
CN = Common Name
emailAddress = test@email.com
EOF
openssl req -x509 -config openssl.cnf -nodes -days 7300 \
-signkey server.key -out /etc/ssl/private/pure-ftpd.pem
그러나 여전히 데이터에 대한 프롬프트가 표시됩니다.
답변
누락 된 것은 인증서 제목을 -subj
플래그 에 포함시키는 것 입니다. 워크 플로에 쉽게 통합 할 수 있고 나중에 정리할 필요가 없기 때문에 구성 파일을 만드는 것이 좋습니다.
한 단계 키 및 csr 생성 :
openssl req -new -newkey rsa:4096 -nodes \
-keyout www.example.com.key -out www.example.com.csr \
-subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com"
한 단계 자체 서명 된 비밀번호없는 인증서 생성 :
openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 \
-subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=www.example.com" \
-keyout www.example.com.key -out www.example.com.cert
이러한 명령 중 어느 것도 데이터를 요구하지 않습니다.
답변
찾고있는 명령은 다음과 같습니다.
openssl req -new -x509 -config openssl.cnf -nodes -days 7300 -key server.key -out /etc/ssl/private/pure-ftpd.pem
버전의 변경 사항 :
-new
무엇이든 생성하는 데 필요합니다-key
대신에 사용-signkey