中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OpenSSL命令之算法類大全

發布時間:2020-07-11 17:36:31 來源:網絡 閱讀:1210 作者:vtein428 欄目:開發技術

一 DH算法(Gendh/Dhparam/Dh)

1 gendh  

功能:用于生成DH參數。 

用法:openssl gendh [-out file ] [-rand ] [-engine e ]  

選項:

-out file 輸出結果到file指定的文件,如果不指定,結果顯示在屏幕屏幕上

-2 將2作為生成值,此為默認值

-5 將5作為生成值

-rand 指定隨機數文件

-engine e 采用Engine生成;

例子1:將DH參數打印到屏幕

[root@localhost opensscommand]# openssl gendh

Generating DH parameters, 512 bit long safe prime, generator 2

This is going to take a long time

..........................++*++*++*++*++*++*

-----BEGIN DH PARAMETERS-----

MEYCQQD1x7k6EepYbX+TSDTsxGCA2rNxTgsFHg9nLXThBjU5hogTMfPcOGaZxJPL

W+gPiWmvCDmDa5T26Uy3lURwzrFLAgEC

-----END DH PARAMETERS-----

例子2:將DH參數打印到文件CA_dh.pem下載

[root@localhost opensscommand]# openssl gendh -5 -out CA_dh.pem 1024

Generating DH parameters, 1024 bit long safe prime, generator 5

This is going to take a long time

..........................

[root@localhost opensscommand]# cat CA_dh.pem 

-----BEGIN DH PARAMETERS-----

MIGHAoGBAOOBKbr4HYu9SUHVeWkIypXKdMo4NpgNtERK6tm56CaZ1PzRQhHx/0h8

5I5qK8V40R+xmGmXcEM6mg/CEkdcMN64Q9H22aakXqhiGDVXXjbFm/i+jXmD8L98

Js1+eh6MSuebpdDoHy6T3QVa77nVvwx03+JrI0shjUc9XLH2TyMfAgEF

-----END DH PARAMETERS-----

2 dhparam和dh 

功能:dhparam為dh參數操作和生成工具,dh命令與dhparam用法大致一致,下面只給出了dhparam的說明。

用法:openssl dhparam [-inform DER|PEM] [-outform DER|PEM] [-in filename] [-out filename] [-dsaparam] [-noout] [-check] [-text] [-C] [-2] [-5] [-rand file(s)] [-engine id] [numbits] 

選項:

-inform DER|PEM 輸入文件格式,DER或者PEM格式。

-outform DER|PEM 輸出文件格式,DER或者PEM格式。

-in filename 讀取DH參數的文件,默認為標準輸入。

-out filename dh參數輸出文件,默認為標準輸出。

-dsaparam 生成DSA參數,并轉換為DH格式。

-noout 不輸出信息。

-text 打印信息。

-check 檢查dh參數。

-C 以C語言風格打印信息。

-2,-5 指定2或5為發生器,默認為2,如果指定這些項,輸入DH參數文件將被忽略,自動生成DH參數。

-rand files 指定隨機數種子文件。

-engine id 指定硬件引擎。

-numbits 指定素數bit數,默認為512。 

例子1:將DH參數輸出到文件dhparam.pem 

[root@localhost opensscommand]# openssl dhparam -out dhparam.pem -text 512

Generating DH parameters, 512 bit long safe prime, generator 2

This is going to take a long time

...............................

[root@localhost opensscommand]# cat dhparam.pem 

    PKCS#3 DH Parameters: (512 bit)

        prime:

            00:8b:fa:d6:58:ab:93:69:ab:61:23:87:e4:7e:4e:

            26:8e:9b:c4:d4:03:12:56:22:ee:e7:ea:b8:e2:7a:

            d2:04:f6:f4:4f:d5:3e:11:70:63:8e:ec:d1:85:40:

            95:79:52:c5:7b:5f:06:46:19:b2:b0:35:e3:40:97:

            a0:de:c6:cf:d3

        generator: 2 (0x2)

-----BEGIN DH PARAMETERS-----

MEYCQQCL+tZYq5Npq2Ejh+R+TiaOm8TUAxJWIu7n6rjietIE9vRP1T4RcGOO7NGF

QJV5UsV7XwZGGbKwNeNAl6Dexs/TAgEC

-----END DH PARAMETERS-----

例子2:檢查生成的DH參數下載

[root@localhost opensscommand]# openssl dhparam -in dhparam.pem -text -check

    PKCS#3 DH Parameters: (512 bit)

        prime:

            00:8b:fa:d6:58:ab:93:69:ab:61:23:87:e4:7e:4e:

            26:8e:9b:c4:d4:03:12:56:22:ee:e7:ea:b8:e2:7a:

            d2:04:f6:f4:4f:d5:3e:11:70:63:8e:ec:d1:85:40:

            95:79:52:c5:7b:5f:06:46:19:b2:b0:35:e3:40:97:

            a0:de:c6:cf:d3

        generator: 2 (0x2)

DH parameters appear to be ok.

-----BEGIN DH PARAMETERS-----

MEYCQQCL+tZYq5Npq2Ejh+R+TiaOm8TUAxJWIu7n6rjietIE9vRP1T4RcGOO7NGF

QJV5UsV7XwZGGbKwNeNAl6Dexs/TAgEC

-----END DH PARAMETERS-----

 

二 摘要算法(Dgst)

1 dgst

功能:用于數據摘要。

用法:openssl dgst [-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1 ] [-c] [-d ] [-hex] [-binary] [-out filename] [-sign filename] [-passin arg] [-verify filename] [-prverify filename] 

[-signature filename ] [file...]

選項:

-d 打印調試信息。

-sign privatekeyfile 用privatekeyfile中的私鑰簽名。

-verify publickeyfile 用publickeyfile中的公鑰驗證簽名。

-prverify  privatekeyfile 用privatekeyfile中的私鑰驗證簽名。

-keyform PEM|ENGINE 密鑰格式,PEM格式或者采用Engine。

-hex 顯示ASCII編碼的十六進制結果,默認選項。

-binary 顯示二進制數據。

-engine e 采用引擎e來運算。

-md5 默認選項,用md5進行摘要。

-md4 用md4摘要。

-md2 用md2摘要。

-sha1 用sha1摘要。

-sha 用sha摘要。

-sha256 用-sha256摘要。

-sha512 用sha512摘要。

-mdc2 用mdc2摘要。

-ripemd160 用ripemd160摘要。

例子1:各種方式顯示摘要值下載

[root@localhost opensscommand]# openssl dgst -hex a.txt

MD5(a.txt)= 65cf359cb255f94f9649133d6200b8b9

[root@localhost opensscommand]# openssl dgst -binary a.txt

e?.U..=b腹

[root@localhost opensscommand]# openssl dgst -hex -c a.txt

MD5(a.txt)= 65:cf:35:9c:b2:55:f9:4f:96:49:13:3d:62:00:b8:b9

例子2:將文件a.txt用sha512摘要,并用prikey.pem中的私鑰簽名。

[root@localhost opensscommand]# openssl dgst -sign prikey.pem -sha512 -out CA_sigDgst.pem a.txt

Enter pass phrase for prikey.pem:

[root@localhost opensscommand]# cat CA_sigDgst.pem 

5$.捻?ㄩL7.?頎.`%.5?T/x??Z?

                                     .5??F?=?.p.g..?l??OS.?架I耵餉|io:&Q??'.on

                                                                                                      nAv訌?L?0.媯.

三 RSA(Genrsa/Rsa/Rsautl)

1 Genrsa   

功能:生成RSA密鑰 

用法:Openssl >genrsa [-out filename] [-passout arg] [-des3] [-rand files] [-engine id] [-numbits] 

選項:

-des/des3/idea/aes128/aes192/aes256  以des/des3/idea/aes128/aes192/aes256模式加密密鑰

-out file 輸出文件

-f4/3 指定E 為f4/3 

-rand file 指定隨機數種子文件

-numbits 密鑰長度,默認為512

例子1: 生成秘鑰文件CA_rsa_key.pem,并要aes256模式加密秘鑰文件。

openssl genrsa -aes256 -out CA_rsa_key.pem -f4 1024  

[root@localhost ~]# openssl genrsa -aes256 -out CA_rsa_key.pem -f4 1024

Generating RSA private key, 1024 bit long modulus

............++++++

.......................++++++

e is 65537 (0x10001)

Enter pass phrase for CA_rsa_key.pem:

Verifying - Enter pass phrase for CA_rsa_key.pem:

2 Rsa下載

功能:用于處理RSA密鑰、格式轉換和打印信息。

用法:openssl rsa [-inform PEM|NET|DER] [-outform PEM|NET|DER] [-in filename] [-passin arg] [-out filename] [-passout arg] [-sgckey] [-des] [-des3] 

[-idea] [-text] [-noout] [-modulus] [-check] [-pubin] [-pubout] [-engine id]

選項:

-inform DER|PEM|NET 指定輸入的格式,NET格式是與老的Netscape服務以及微軟的IIS兼容的一種不×××全的格式。

-outform DER|PEM|NET 指定輸出格式。

-in filename 輸入文件名。

-passin arg 私鑰保護密鑰來源,比如:-passin file:pwd.txt。

-out filename 輸出的文件名。

-des|-des3|-idea 指定私鑰保護加密算法。

-text 打印密鑰信息。

-noout 不打印任何信息。

-modulus 打印密鑰模數。

-pubin 表明輸入文件為公鑰,默認的輸入文件是私鑰。

-pubout 表明輸出文件為公鑰。

-check 檢查RSA私鑰。

-engine id 指明硬件引擎。

例子1:生成明文私鑰文件key.pem

[root@localhost opensscommand]# openssl genrsa -out key.pem

Generating RSA private key, 1024 bit long modulus

.++++++

..............++++++

e is 65537 (0x10001)

例子2:轉換為DER編碼文件key.der

[root@localhost opensscommand]# openssl rsa -in key.pem -outform der -out key.der

writing RSA key

例子3:將明文私鑰文件轉換為密碼保護,輸出到enckey.pem

[root@localhost opensscommand]# openssl rsa -inform der -in key.der -des3 -out enckey.pem

writing RSA key

Enter PEM pass phrase:

Verifying - Enter PEM pass phrase:

例子4:將公鑰寫入文件pubkey.pem

[root@localhost opensscommand]# openssl rsa -in key.pem -pubout -out pubkey.pem

writing RSA key

例子5:打印公鑰信息到屏幕:

[root@localhost opensscommand]# openssl rsa -pubin -in pubkey.pem -text -modulus

Public-Key: (1024 bit)

Modulus:

    00:cd:93:d9:08:ca:97:2e:5a:91:3a:b8:33:7f:1f:

    84:8e:ba:16:94:ac:97:ce:b6:f5:57:5d:96:d3:fd:

    1f:2f:fb:32:6b:0e:cf:82:45:77:70:12:75:56:8c:

    79:a2:62:fe:07:e0:6c:8c:01:3a:41:a4:49:49:29:

    fa:51:1a:cc:b3:8c:f7:1f:17:c1:b3:46:09:13:ee:

    f6:1d:bc:3c:45:88:ca:5b:43:d2:18:b5:de:b9:61:

    ad:b5:d4:ca:d9:1b:02:1c:88:9f:aa:07:a8:e9:9c:

    27:46:e7:88:8d:02:3d:cb:62:91:e4:43:46:60:ac:

    87:66:29:8f:4e:36:85:cf:bd

Exponent: 65537 (0x10001)

Modulus=CD93D908CA972E5A913AB8337F1F848EBA1694AC97CEB6F5575D96D3FD1F2FFB326B0ECF824577701275568C79A262FE07E06C8C013A41A4494929FA511ACCB38CF71F17C1B3460913EEF61DBC3C4588CA5B43D218B5DEB961ADB5D4CAD91B021C889FAA07A8E99C2746E7888D023DCB6291E4434660AC8766298F4E3685CFBD

writing RSA key

-----BEGIN PUBLIC KEY-----

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDNk9kIypcuWpE6uDN/H4SOuhaU

rJfOtvVXXZbT/R8v+zJrDs+CRXdwEnVWjHmiYv4H4GyMATpBpElJKfpRGsyzjPcf

F8GzRgkT7vYdvDxFiMpbQ9IYtd65Ya211MrZGwIciJ+qB6jpnCdG54iNAj3LYpHk

Q0ZgrIdmKY9ONoXPvQIDAQAB

-----END PUBLIC KEY-----

例子6:顯示私鑰信息

[root@localhost opensscommand]# openssl rsa -in enckey.pem

Enter pass phrase for enckey.pem:

writing RSA key

-----BEGIN RSA PRIVATE KEY-----

MIICXgIBAAKBgQDNk9kIypcuWpE6uDN/H4SOuhaUrJfOtvVXXZbT/R8v+zJrDs+C

RXdwEnVWjHmiYv4H4GyMATpBpElJKfpRGsyzjPcfF8GzRgkT7vYdvDxFiMpbQ9IY

td65Ya211MrZGwIciJ+qB6jpnCdG54iNAj3LYpHkQ0ZgrIdmKY9ONoXPvQIDAQAB

AoGATsf45UiV9RqaCzGp8m6GoxenLa***JIqpSdldKnM+Ns/8A0F8rtiUR2Rv/An

cNaU2Tnk/yY9SAiIWTRwDALELN4OFhsWvAMOMDJ+vfCE133avWX9QLhSEpUCWLOr

zz0qrQ6k4yQ5YBPId8EVFuJZY2mRSqEfHlh5/muPJbp/POECQQD89zbYUnd54m4T

5Nw0tac9VOyTGnOiWqqBqUtw6p9ZgZ/mpD/kmghhl/O5kheaZwogUi5vPucwvf4g

eyOYzZkJAkEA0AseNVWy5VtDG6wGFJxmoh6CIPertMNG2tRmFqXMszOrVZXVDSXa

HMKE+jv52barX+dVf8aHi0RBPrrCf0CyFQJBAI5AnvDq/xDlii1Zx5NEi7VrqlXW

zCwCfFvJzgjDh7SXtknHF77/97KZ9o7mXquPQhyG2mHop627ScsONChbhbECQQCs

gWuNAgCS2betjFiGYqFfsANZXsSL4Jgx/4ifIt+3gBKDpvfALTDMRCcLbwvfkO5N

WX61sqLVwcTwBOAdsEF5AkEAt3fpT0ZWfdSlDKvcm6AI19c0W4G2erf9xuii0F+q

Omw/JD9diG+Z/QMVq5yoqgLKqmmzKmQRI/OYwgQONwY33A==

-----END RSA PRIVATE KEY-----

3 Rsatul

功能:rsautl為RSA工具,能夠使用RSA算法簽名,驗證身份,加密/解密數據。

用法:openssl rsautl [-in file] [-out file] [-inkey file] [-pubin] [-certin] [-sign] [-verify] [-encrypt] [-decrypt] 

[-pkcs] [-ssl] [-raw] [-hexdump] [-engine e] [-passin arg]

選項: 

-in filename 指定輸入文件名,缺省為標準輸入。

-out filename 指定輸入文件名,缺省為標準輸出。

-inkey file 輸入私鑰文件名。

-pubin 表明我們輸入的是一個公鑰文件,默認輸入為私鑰文件。

-certin 表明我們輸入的是一個證書文件。

-sign 給輸入的數據簽名。

-verify 對輸入的數據進行驗證。

-encrypt 用公鑰對輸入數據加密。

-decrypt 用私鑰對輸入數據解密。

-pkcs, -oaep, -ssl, -raw 指定填充方式,上述四個值分別代表:PKCS#1.5(默認值)、 PKCS#1OAEP、SSLv2以及不填充。

-hexdump 用十六進制輸出數據。

-engine e 指定硬件引擎。

-passin arg 指定私鑰保護口令的來源,比如:-passin file:pwd.txt。

例子1:生成RSA密鑰文件prikey.pem

[root@localhost opensscommand]# openssl genrsa -des3 -out prikey.pem

Generating RSA private key, 1024 bit long modulus

..........................++++++

...........++++++

e is 65537 (0x10001)

Enter pass phrase for prikey.pem:

Verifying - Enter pass phrase for prikey.pem:

例子2:分離出公鑰文件pubkey.pem下載

[root@localhost opensscommand]# openssl rsa -in prikey.pem -pubout -out pubkey.pem

Enter pass phrase for prikey.pem:

writing RSA key

例子3:對a.txt文件簽名,簽名輸出到屏幕

[root@localhost opensscommand]# openssl rsautl -sign -inkey prikey.pem -in a.txt -hexdump

Enter pass phrase for prikey.pem:

0000 - 0c 71 0b a2 d3 37 ee 96-15 b5 ae fe 78 66 06 84   .q...7......xf..

0010 - bb bb a6 15 5c 97 cd 3a-62 b3 ec 5a a2 10 e1 43   ....\..:b..Z...C

0020 - 45 8a 19 b0 d7 dd 42 3c-9d 6f d2 96 e4 22 99 89   E.....B<.o..."..

0030 - 5c 26 3f a8 e1 bb eb f8-1f 75 48 0d a4 20 b2 5e   \&?......uH.. .^

0040 - fc 04 06 5d 9b 1b 6f 36-88 26 ab 05 fa 0f 91 c2   ...]..o6.&......

0050 - 2c e9 aa cd d7 e5 52 98-f3 d3 27 91 e9 a0 ed 25   ,.....R...'....%

0060 - 78 bc e4 a9 52 9c df 1f-c5 ff 6c 8f 88 8b e2 8d   x...R.....l.....

0070 - cf 30 4e 0e 55 38 51 3a-ea 35 51 07 87 bf e1 d9   .0N.U8Q:.5Q.....

例子4:對a.txt文件簽名,簽名文件為sig.dat

[root@localhost opensscommand]# openssl rsautl -sign -inkey prikey.pem -in a.txt -out sig.dat

Enter pass phrase for prikey.pem:

例子5:驗證簽名

[root@localhost opensscommand]# openssl rsautl -verify -inkey prikey.pem -in sig.dat

Enter pass phrase for prikey.pem:

ttest

例子6:公鑰加密a.txt,機密后的文件為b.txt

[root@localhost opensscommand]# openssl rsautl -encrypt -pubin -inkey pubkey.pem -in a.txt -out b.txt

例子7:私鑰解密b.txt

[root@localhost opensscommand]# openssl rsautl -decrypt -inkey prikey.pem -in b.txt

Enter pass phrase for prikey.pem:

ttest

四 橢圓曲線算法(Ecparam/Ec)

1 ecparam下載

功能:橢圓曲線密鑰參數生成及操作。

用法:openssl ecparam [-inform DER|PEM] [-outform DER|PEM] [-in filename] [-out filename] [-noout] [-text] [-C] 

[-check] [-name arg] [-list_curve] [-conv_form arg] [-param_enc arg] [-no_seed] [-rand file(s)] [-genkey] [-engine id]

選項:

-inform DER|PEM 輸入文件格式。

-outform DER|PEM 輸出文件格式。

-in filename 輸入文件。

-out filename 輸出文件。

-noout 不打印信息。

-text 打印信息。

-C 以C語言風格打印信息。

-check 檢查參數。

-name arg 采用短名字。

-list_curves 打印所有可用的短名字。

-conv_form arg 指定信息存放方式,可以是compressed、uncompressed或者hybrid,默認為compressed。

-param_enc arg 指定參數編碼方法,可以是named_curve和explicit,默認為named_curve。

-no_seed 如果-param_enc指定編碼方式為explicit,不采用隨機數種子。

-rand file(s) 指定隨機數種子。

-genkey 生成密鑰。

-engine id 指定硬件引擎。

例子1:打印所有可用的短名字

[root@localhost opensscommand]# openssl ecparam -list_curves

  secp384r1 : NIST/SECG curve over a 384 bit prime field

  secp521r1 : NIST/SECG curve over a 521 bit prime field

  prime256v1: X9.62/SECG curve over a 256 bit prime field

例子2:生成橢圓曲線密鑰,打印到屏幕

[root@localhost opensscommand]# openssl ecparam -name secp384r1 -genkey -text

ASN1 OID: secp384r1

-----BEGIN EC PARAMETERS-----

BgUrgQQAIg==

-----END EC PARAMETERS-----

-----BEGIN EC PRIVATE KEY-----

MIGkAgEBBDDbMZ0LbFJsV04INQaDc5wJtXa83yCnu84BO/lDzeRi7l2Ce1xQu0qU

J4nktlZ1CDSgBwYFK4EEACKhZANiAARbG35i5AdcJ1ciCfbuH0VmTndhCFaL2AuN

wacjBxgExyc82U9efp6BmaWIBYwMIyZSkzfj2mZkKJvQXWfKPiKqXXJ37TeLIvgA

fMMCxFkiLkuJjL5m6an0d6JSDKGh6AE=

-----END EC PRIVATE KEY-----

例子3:生成橢圓曲線密鑰,輸出到secp384.pem

[root@localhost opensscommand]# openssl ecparam -name secp384r1 -out secp384.pem

例子4:更新生成密鑰

[root@localhost opensscommand]# openssl req -newkey ec:secp384.pem

Generating a 384 bit EC private key

writing new private key to 'privkey.pem'

Enter PEM pass phrase:

Verifying - Enter PEM pass phrase:


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林州市| 忻州市| 行唐县| 温宿县| 新乐市| 祥云县| 那曲县| 汉寿县| 巨野县| 行唐县| 淳化县| 邵阳县| 兖州市| 修武县| 哈巴河县| 贡觉县| 英超| 武穴市| 正宁县| 如东县| 揭东县| 白河县| 凤山市| 方正县| 德保县| 威远县| 阿勒泰市| 耿马| 竹溪县| 武宁县| 丰县| 安远县| 鹤山市| 共和县| 清水县| 屏东市| 永德县| 方山县| 雅江县| 嘉荫县| 永和县|