Encryption

如何使用 RSA 私鑰和自簽名證書生成 p12 文件

  • August 31, 2016

我相信兩週前下面的確切程序對我有用,但現在不行了。我從一個 RSA 私鑰開始rsa.pem並生成我自己的自簽名證書:

openssl req -new -x509 -key rsa.pem -out rsa.cer

然後我嘗試創建一個p12文件:

openssl pkcs12 -export -out rsa.p12 -inkey rsa.pem -in rsa.cer

但我只收到以下消息:

Usage: pkcs12 [options]
where options are
-export       output PKCS12 file
-chain        add certificate chain
-inkey file   private key if not infile
-certfile f   add all certs in f
-CApath arg   - PEM format directory of CA's
-CAfile arg   - PEM format file of CA's
-name "name"  use name as friendly name
-caname "nm"  use nm as CA friendly name (can be used more than once).
-in  infile   input filename
-out outfile  output filename
-noout        don't output anything, just verify.
-nomacver     don't verify MAC.
-nocerts      don't output certificates.
-clcerts      only output client certificates.
-cacerts      only output CA certificates.
-nokeys       don't output private keys.
-info         give info about PKCS#12 structure.
-des          encrypt private keys with DES
-des3         encrypt private keys with triple DES (default)
-seed         encrypt private keys with seed
-aes128, -aes192, -aes256
             encrypt PEM output with cbc aes
-camellia128, -camellia192, -camellia256
             encrypt PEM output with cbc camellia
-nodes        don't encrypt private keys
-noiter       don't use encryption iteration
-nomaciter    don't use MAC iteration
-maciter      use MAC iteration
-nomac        don't generate MAC
-twopass      separate MAC, encryption passwords
-descert      encrypt PKCS#12 certificates with triple DES (default RC2-40)
-certpbe alg  specify certificate PBE algorithm (default RC2-40)
-keypbe alg   specify private key PBE algorithm (default 3DES)
-macalg alg   digest algorithm used in MAC (default SHA1)
-keyex        set MS key exchange type
-keysig       set MS key signature type
-password p   set import/export password source
-passin p     input file pass phrase source
-passout p    output file pass phrase source
-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
-CSP name     Microsoft CSP name
-LMK          Add local machine keyset attribute to private key

我只是關注以前的文章:

https://stackoverflow.com/questions/38841563/create-rsacryptoserviceprovider-object-using-rsa-private-key-file-in-c-sharp

https://stackoverflow.com/questions/10994116/openssl-convert-pem-containing-only-rsa-private-key-to-pkcs12

原來是破折號的字元編碼問題,這與複製和粘貼混淆。我剛剛重新輸入了命令,它工作了。

引用自:https://unix.stackexchange.com/questions/306819