OpenSSL: genrsa mı genpkey mi?


13

OpenSSL neden bu kadar çok örtüşen iki yardımcı program sağlıyor?

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.

Ve 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

Debian'daki dokümanlar da bu konuda gerçekten garip,

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

genpkeybir yedek? Öyleyse, nasıl oluyor da -des3? Peki, şifreyi nasıl ekleriz ve anahtar uzunluğunu nasıl belirleriz?


2
Aynı şeyleri yapmak için iki farklı komuta sahip olmanın delilik olmadığını düşünüyorsanız, ASN.1 yapısının üretildiğini genrsave genpkeyaslında farklı olduğunu düşünün . Kullanılarak oluşturulan anahtarların ASN.1 yapısı genrsapkcs # 1, kullanılarak oluşturulan anahtarlar genpkeypkcs # 8'dir. Bu yeterince kötü değilse, kullanırsanız genpkey -outform derpkcs # 1'e geri döner. EC ile, her nasılsa, daha da kötü genecyerine, orada eksik ecparam -genkeyve bir şekilde ecparam -genkey, genpkey -outform pem, genpkey -outform dertüm farklı ASN.1 yapıya sahiptir.
Lie Ryan

Yanıtlar:


9

genrsaÜstün olduğunu açıkça belirtiyor genpkey, bu yüzden evet, genpkeybir yedek.

3desBağımsız -cipherdeğişkenini kullanarak şifreyi olarak değiştirebilirsiniz.

Ayrıca, bir şifre eklemek için -passargümanı kullandığınızı da belirtmelidir.

Daha fazla bilgiyi burada bulabilirsiniz


1
Peki, -passşimdi argümanı görüyorum (-3des ile aynı olduğu varsayılarak), ancak anahtar uzunluğunu belirtmek için bir seçenek göremiyorum bile genpkey? Ayrıca Ubuntu 14.04 man sayfalarının bu konuda söylediklerinin tamamını yapıştırdım.
Evan Carroll

1
Sizi bu belgelere yönlendirebilir
miyim

3
Lol, bu delilik -pkeyopt rsa_keygen_bits:numbits.
Evan Carroll

Neden delirmiş? :)
MichelZ

9
Çünkü -h'nin tüm amacı komutun bir özetini sunmaktır. Yani, öğrendim ki, genpkeyaslında kendi man sayfalarında belgelenmiştir. İlginç. Tüm proje git-core yönünü hareket ettirmeli, man sayfaları tümünün önüne openssl- eklenmiş ve kullanıcı arayüzü openssl help genpkeyman sayfalarını oluşturmaya izin veriyor. TLDR; daha iyi dokümanlar yardımcı olur.
Evan Carroll
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.