openssl에서 -nodes 인수의 목적은 무엇입니까?
-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을
그러나 프로그래머 의 목적 은 다음과 같습니다.
- HTTP 서버 (예 : Apache , Nginx )는 암호없이 encrypted-private.key 를 읽을 수 없습니다 →
- 옵션 A-HTTP 서버가 시작될 때마다 encrypted-private.key에 대한 암호를 제공해야합니다.
- 옵션 B는 - 지정
ssl_password_file file.keys;
에http { }
또는server { }
컨텍스트. [ 심판 ] - 옵션 C- 암호화없이 private.key
-nodes
를 만드는 데 사용
유용함 : private.key 잠금
- { ssl-cert 그룹 에 HTTP 서버 추가 }
sudo chown root:ssl-cert private.key
- ch가 앤지 자신 의 어 private.key을 에 루트 사용자, SSL-CERT의 그룹sudo chmod 640 private.key
-private.key의 접근 권한 을 소유자 R / W, 그룹 R로 변경- 이제 HTTP 서버가 UNencrypted private.key 를 시작하고 읽을 수 있어야합니다.
옵션 A
더 강력한 보안, 그러나 서버가 다시 시작될 때 encrypted-private.key에 대한 암호 를 수동으로 입력해야합니다.
옵션 B
중간 수준의 보안, 아마 A / C 간의 좋은 균형
옵션 C
보안이 약하지만 암호화되지 않은 private.key 암호 를 요구하지 않습니다.
참고 URL : https://stackoverflow.com/questions/5051655/what-is-the-purpose-of-the-nodes-argument-in-openssl
'IT story' 카테고리의 다른 글
CRC32 체크섬은 어떻게 계산됩니까? (0) | 2020.09.16 |
---|---|
보기를 빠르게 테마로 지정하는 방법은 무엇입니까? (0) | 2020.09.16 |
오디오 녹음을위한 Android AudioRecord 대 MediaRecorder (0) | 2020.09.16 |
iOS 9.2 이하에서 Xcode 8 빌드 충돌 (0) | 2020.09.16 |
C ++ 11로 삭제 된 함수가 오버로드 해결에 참여하는 이유는 무엇입니까? (0) | 2020.09.16 |