OpenSSL : genrsa vs genpkey?


12

OpenSSL이 두 개의 유틸리티에 겹치는 부분을 제공하는 이유

genpkey:

OpenSSL> genpkey -
Usage: genpkey [options]
where options may be
-out file          output file
-outform X         output format (DER or PEM)
-pass arg          output file pass phrase source
-<cipher>          use cipher <cipher> to encrypt the key
-engine e          use engine e, possibly a hardware device.
-paramfile file    parameters file
-algorithm alg     the public key algorithm
-pkeyopt opt:value set the public key algorithm option <opt>
                   to value <value>
-genparam          generate parameters, not key
-text              print the in text
NB: options order may be important!  See the manual page.

그리고 genrsa:

OpenSSL> genrsa -
usage: genrsa [args] [numbits]
 -des            encrypt the generated key with DES in cbc mode
 -des3           encrypt the generated key with DES in ede cbc mode (168 bit key)
 -seed
                 encrypt PEM output with cbc seed
 -aes128, -aes192, -aes256
                 encrypt PEM output with cbc aes
 -camellia128, -camellia192, -camellia256
                 encrypt PEM output with cbc camellia
 -out file       output the key to 'file
 -passout arg    output file pass phrase source
 -f4             use F4 (0x10001) for the E value
 -3              use 3 for the E value
 -engine e       use engine e, possibly a hardware device.
 -rand file:file:...
                 load the file (or the files in the directory) into
                 the random number generator

데비안의 문서들도 이것에 대해 정말 이상합니다.

   genpkey   Generation of Private Key or Parameters.
   genrsa    Generation of RSA Private Key. Superceded by genpkey.

genpkey교체은? 그렇다면 어떻게 오지 않았 -des3습니까? 그리고 어떻게 암호를 추가하고 키 길이를 지정합니까?


2
같은 일을하는 두 개의 서로 다른 명령을 갖는 너트하지 생각한다면, 다음 ASN.1 구조가 생성 된 것을 고려 genrsa하고 genpkey실제로 다릅니다. 를 사용하여 생성 된 키의 ASN.1 구조 genrsa는 pkcs # 1이고, 사용하여 생성 된 키 genpkey는 pkcs # 8입니다. 그것이 나쁘지 않다면, 사용 genpkey -outform der하면 pkcs # 1로 돌아갑니다. EC, 그것은 어떻게 든, 심지어 더 나쁜 genec대신이 누락 ecparam -genkey, 어떻게 든 ecparam -genkey, genpkey -outform pem, genpkey -outform der모두가 서로 다른 ASN.1 구조를 가지고있다.
Lie Ryan

답변:


8

genrsa의해 대체되었다고 명확하게 설명 되어 genpkey있으므로 그렇습니다 genpkey.

인수 3des를 사용하여 암호를 변경할 수 있습니다-cipher

또한 암호를 추가하려면 -pass인수 를 사용하십시오.

자세한 내용은 여기를 참조 하십시오


1
글쎄, -pass이제 인수를 보았지만 (-3des와 동일하다고 가정) 키 길이를 지정하는 옵션조차 보지 못 genpkey합니까? 또한 우분투 14.04 매뉴얼 페이지에 대한 내용을 모두 붙여 넣었습니다.
Evan Carroll

1
나는 다음이 문서를 가리킬 수 있습니다 : genpkey
MichelZ

3
롤,이 너트는 ... -pkeyopt rsa_keygen_bits:numbits.
Evan Carroll

왜 견과류입니까? :)
MichelZ

9
-h의 전체 목적은 명령의 개요를 제공하는 것입니다. 즉, 방금 genpkey자체 매뉴얼 페이지에 문서화되어 있음을 알았습니다 . 그 흥미 롭군요. 전체 프로젝트는 git-core의 방향으로 이동해야합니다. 맨 페이지는 모두 openssl로 시작하고 ui openssl help genpkey는 맨 페이지를 렌더링 할 수 있습니다. tldr; 더 나은 문서가 도움이 될 것입니다.
Evan Carroll
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.