-nodes
openssl 에서 인수 의 목적은 무엇입니까 ?
-nodes
openssl 에서 인수 의 목적은 무엇입니까 ?
답변:
옵션 -nodes
은 영어 단어 "nodes"가 아니라 "no DES"입니다. 인수로 주어지면 OpenSSL이 PKCS # 12 파일 의 개인 키를 암호화하지 않음을 의미 합니다.
개인 키를 암호화하려면 생략 할 수 -nodes
있으며 키는 3DES-CBC로 암호화됩니다. 키를 암호화하기 위해 OpenSSL은 암호를 입력하라는 메시지를 표시하고 해당 암호를 사용하여 키 파생 함수 EVP_BytesToKey를 사용하여 암호화 키를 생성합니다 .
OpenSSL 버전 및 컴파일 된 옵션에 따라 다음 대신 다음 옵션을 제공 할 수 있습니다 -nodes
.
-des encrypt private keys with DES
-des3 encrypt private keys with triple DES (default)
-idea encrypt private keys with idea
-seed encrypt private keys with seed
-aes128, -aes192, -aes256
encrypt PEM output with cbc aes
-camellia128, -camellia192, -camellia256
encrypt PEM output with cbc camellia
궁극적으로 라이브러리 수준에서 OpenSSL은 선택한 암호화 알고리즘 (또는 그 결여)을 사용하여 PEM_write_bio_PrivateKey 함수를 호출 합니다.
편집 : nginx v1.7.3은 컨텍스트의 encrypted-private.key 에서 각 암호를 시도하여 지정된 파일에서 암호를 읽는 ssl_password_file 지시문을 추가했습니다.
indiv는 -nodes
인수가 OpenSSL이 UNencrypted private.key 를 생성한다는 것을 의미한다는 점에서 정확합니다 . 그렇지 않으면 encrypted-private.key 를 생성하라는 암호 프롬프트가 표시됩니다 . 참조 REQ , PKCS12 , CA.pl을
그러나 프로그래머 의 목적 은 다음과 같습니다.
ssl_password_file file.keys;
에 http { }
또는 server { }
컨텍스트. [ 심판 ]-nodes
를 만드는 데 사용유용함 : private.key 잠금
sudo chown root:ssl-cert private.key
- ch가 앤지 자신 의 어 private.key을 에 루트 사용자, SSL-CERT의 그룹sudo chmod 640 private.key
-private.key의 접근 권한 을 소유자 R / W, 그룹 R로 변경옵션 A
더 강력한 보안, 그러나 서버가 다시 시작될 때 encrypted-private.key에 대한 암호 를 수동으로 입력해야합니다.
옵션 B
중간 수준의 보안, 아마 A / C 간의 좋은 균형
옵션 C
보안이 약하지만 암호화되지 않은 private.key 암호 를 요구하지 않습니다.