openssl-genras命令簡單入門

openssl之genras命令簡單入門

今天熟悉一下openssl genras這個命令

命令說明

首先查看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)
 -idea           encrypt the generated key with IDEA in cbc mode
 -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

可以看到,genrsa提供了很多加密算法生成RSA私鑰。

參數詳情

des

des 是使用cbc的模式的des數據加密方法進行私鑰生成。在控制檯輸入openssl genrsa -des,界面會顯示如下信息:

Generating RSA private key, 2048 bit long modulus
........+++
..................+++
e is 65537 (0x10001)
Enter pass phrase:
Verifying - Enter pass phrase:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-CBC,8834DB366AA115FC

EeqfrtoiT+BtH0dg6/lY/RbR5ZYSK79H4HVaTyHYbTnDp20Np9bbFlbRzHp83ZTo
V0oMwPEElZ4CZNUqg7rskpXD008+4QfnxkYKW/Vk6IeJlUIlVimTwktF1Tm2eptr
JdIxWJC4/WNUw1wfP4Mx1m7V3NWgnghcqa9/YW/AErUN7E2w8lDQ2Qjp0t3f2zPD
bo/y7A8D30r2lHH39mtehg2L0whpZ5UbUGM1HihzuuF6jGDzf4F6qr/UcyvH/UuL
iqahfkAF1tWPkQSCdf7dETpd0Lio21JkForvA0M1RSbzNlaFeiP41rG8HH8loK8J
BQ4tj6MMLOjkdDwpN7THJt9iJdAcbPkrrGx/jR1JS/N9/O9paBHWOquSaBp3su/B
FK9HXgk1Dj9M7ggYwLsAeyzJVi6EccU5oY7MtW6N8r/dbjFbl5uidk4pP8QsTXV4
p6Rjn873Y04/xwIVKNt5KYCPGwq33OK1QPBOPrU4leRuSqcG9x9FP++1Qd5x368x
ZF7sEv47SiKLzmxDG2OUIuDqvyNe0Jc3JdsquH9xv4ab/7EKmYJX9uLG6Q9LbDUL
27ozMwdxMT10g9bptw7ScllTmaMwrph55bbFe4Wfd5p2jIH7oUcDgSeLI5BdxyDy
DxdlLtDfeTOcYnrh8EAq7Ngex2hL95xPvUPfXeOsOst3epbv22KPCOYzUBRN7IjE
5cFPNOqeNsg8LZLZ7uPz0C3J6GR9EQoaDmLoGjnT0RBmr3wfmFzDfbR3WFySGE1F
OFGsehnHOKVqpazfVMZhIOOdY4GldzzRzwK5vEQUQ2i8JZkPiAvegDk6cRI9TGxA
nneIJP0DBU0PHTU1VXm9XOXRfchbZtRBKRjpD4Z91TqWoutqu4zStwIv87T3CKee
UcMMXFzSjr6XxSXHCZv5+1RI+FwmdId1wNbeowarHAhKY0dKpJa//O4a5P50uqT8
+42TTfiClesbwP0FXPZ4qL0rZ72kj1iW1N0IUjtiVdqI9s9x6nm2v2tZTDjsBwSZ
oqD2Eqi2eFX2Yt8VfD1+n9EvqO91bFclm0EskyHSgM/aHorDyce4hC+Qk6iMOpXv
S7Y9WtvDwv1SOaOjOTZDqj2LU3ic8AAP6X/qsq+ly2Tn7emYDTVZREqYh1oScshM
O6/2M1DX+SuD4c644GxSvR8anUn2tczJOdTdZMg+c8MwEFKt6bihOFw5494fNP2s
SLEvJT53t7Mc0eygwNx3J6bl2dgeZ9rv1ve0KLDiZnHwfa46rYNaJ4c19Q9UErm2
6TCYGuw3qaVHdNpT6NoJlChPjkP2UkIN0VXvukbO3hkFcEPb2TZEF7WWxrTunX5Q
HWEpjqyHrN//mh027BQdZc0VE2wyZmyIfLINA1irl3cTdl1WxIP78E+MNRLl1pXx
C0oDlgZnwwjvCb8BvflsSighQKqh3ze3WFKtUJEjPb/todxcIyHTkdrgv0a+dlT+
9498Fk08nlupMZvXxSbmAmoFReL3f2GXH6s5TP9WQZWN5PTaYuxdxluEOU4dcFk3
QJ7lv4RW4WM+lC7MWLK5N8FCo3SPiE1ickhwQKe46

整個過程中需要輸入兩次密碼。從提示中可以看到。私鑰的長度是2048bit。並且生成該私鑰·算法的指數E爲65537。該指數E我們可以通過使用f4或者 3進行修改

f4

該命令的作用是用F4(0x10001)來作爲指數E的值。在控制檯輸入openssl genrsa -des -f4,會顯示出如下內容:

Generating RSA private key, 2048 bit long modulus
...........................................................................................................+++
........................+++
e is 65537 (0x10001)

在這可以看出默認使用的指數E就是F4(0x10001)

3

該命令的作用是使用3(0x3)來作爲指數E的值。在控制檯輸入openssl genrsa -des -3,會顯示出如下內容:

Generating RSA private key, 2048 bit long modulus
..................+++
...................................................................+++
e is 3 (0x3)

des3

該命令的作用是使用ede-cbc模式的des算法進行私鑰生成。在控制檯輸入openssl genrsa -des3,在生成的私鑰信息中可以看到這樣的內容:DEK-Info: DES-EDE3-CBC,66F1CA186EC2B43E

idea

該命令的作用是使用cbc模式的idea算法進行私鑰生成,在控制檯輸入openssl genrsa -idea ,在生成的私鑰信息中可以看到這樣的內容:DEK-Info: IDEA-CBC,3A9481256364780A

seed

該命令的作用是使用seed-cbc生成私鑰,在控制檯輸入openssl genrsa -seed,在生成的私鑰信息中可以看到這樣的內容:DEK-Info: SEED-CBC,73D3DF4D865BF80BB68811419D7866BB

aes128

該命令的作用是使用aes-128-cbc生成私鑰,在控制檯輸入openssl genrsa -aes128,在生成的私鑰信息中可以看到這樣的內容:DEK-Info: AES-128-CBC,B739B481AD7F03C67C3DFE8B1C492CC4

aes192

該命令的作用是使用aes-192-cbc生成私鑰,在控制檯輸入openssl genrsa -aes192,在生成的私鑰信息中可以看到這樣的內容:DEK-Info: AES-192-CBC,F81FC1EA6A5314754953F446167856E4

aes256

該命令的作用是使用aes-256-cbc生成私鑰,在控制檯輸入openssl genrsa -aes256,在生成的私鑰信息中可以看到這樣的內容:DEK-Info: AES-256-CBC,06B041202E250AED89C174A84A3A6668

camellia128

該命令的作用是使用camellia-128-cbc生成私鑰,在控制檯輸入openssl genrsa -camellia128,在生成的私鑰信息中可以看到這樣的內容:DEK-Info: CAMELLIA-128-CBC,C429912EA3C7D114D2BC533C08B18C9D

camellia192

該命令的作用是使用camellia-192-cbc生成私鑰,在控制檯輸入openssl genrsa -camellia192,在生成的私鑰信息中可以看到這樣的內容:DEK-Info: CAMELLIA-192-CBC,9718AB3664DCA949FAF662C327594B7A

camellia256

該命令的作用是使用camellia-256-cbc生成私鑰,在控制檯輸入openssl genrsa -camellia256,在生成的私鑰信息中可以看到這樣的內容:DEK-Info: CAMELLIA-256-CBC,ECC9B9BABE464132237BEA943AFD71B9

out

該命令的作用是將生成的私鑰,寫入到文件中,在控制檯中輸入openssl genrsa -out huang.key,在我的主文件夾下會出現一個huang.key的文件,打開之後的內容:

-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAyhFfNk1EmMYrJDXdXuAjmKGnxozxokW9O/UZwcd6g2LRz2ux
4LbuqDzkrH0E2gYTSjFRiRb8fknbUGtqttCfkAyXJcInlnxrWQwohXtdYo39pd24
Zyk1cW+lb+I6NRdk3MrOW1e+E9mrLVWiGhyN70J0OmXJ//P4SFjOPXpR9Q82i6Kq
8UCzlzaOvi4Au8ZYpLBNUz/xIsneo1pfUBgyCsMQm1YFBTnel+n40tV0udyXUeeR
qjVgJkIQ3KeS9VGX/cyZttHC0zfPrp7le1f39tC54ylz20K+D4XowRfeS9TzQZfo
wgiP52A3EBkNHfdpp6GWpjmATXcNYrzQde/oDQIDAQABAoIBADPQco61D4LxRby6
RzJ93QLVaPUjzQ4kPdrzBZDH+uVX4J8EaY9KuTXQr35/bFAPwMCElvjFOSeU/rTH
ZozMQC4q3FMlTwtqighCct2Pfam46TKwAQoK6hZVX6Gp6+0TO5zWMEYB4M6sQRWV
4MQ7UDXq32zeDwcf4ymCBBiFliB1OmrU9sIrNPOSKk4cZk7e/FhQcFqWHsy5sxbP
pO2EYw9Re09Q7alXYu1Yuf4VOwoG5TapiYd5QTQ9pf69/d22UYKB+EGv5n+P5VHH
0kZ7egdtbJWmKquyuXfM77AEaDo1Q3FVREqr6Yvk5q7PgtihKDxCBDcLIklVFNuq
nGNpsA0CgYEA7rr0UY4yAW3x9cTa9UGMBhTI8OUAqsiBVJxptSelvKKyrurdMCG9
3dtRK/5cKb5WzGnAT9tF8bALgGxcJyAyUivEtzM7WFz5r07vJiQJffrXa+NwbMXb
BYL/2Lv+sN3nQcvXDIxZ821C+QJfpcRKp4/BznWyccVazXhcGUth0nMCgYEA2K93
UQl0QZqSyxaP5YLkKH9ousGor2fZTnippljeq0bghf521hpqdweFU5Lf62c5k0+j
g6mxSJF/qp6DcOUCCUEjGHYWlpYiwOj0OK/c7tembxXI5WtkgQuI8xOs6Kfeljp/
zamfIXBAVOxvmjKhlCxIhVA1Q0Ne9Fxk0+V4O38CgYBb3HCa2T6Ask/CpGckrH42
8NSJbXUeQl0Rs8YxQPpTZb+f8xv9o14t+nB3nz7TiTxZF/A6SkPVxkoGtquXGpqC
Z/kgDYSucchaHuODJ6bHZThzeWcPU+r9afUM7voIELsl5Evxtif+tXJp4vHvFWMs
qvKGgV+Sy8AvBDtcOFeB5QKBgDsj0N32RZuuM4hodQfALMN82rm2J3MQVfgb6Lm1
Ibj/lEIeDJMtDIfGLrZ7rM/UEZvKLae+xds3ku+faeKDLoYWGB0SBeI9weiC7D0Y
iqVJiGxjNryfDgRGgK9PXG73ekHoX39jX0JCH9zN1zvvu7f0SirQlGjyV1U8bmyD
AcjDAoGBAIvjH8ZzGnef4HJGW6bgVln2ubwIZB5wQUrNWjuwOC0mUtWx87JSi+1g
aHbiFr+hlMLZnpLfezeKelm625bxHMZrqGTiRbsAtqde93DTr9b6bF/q2Qesnz4+
S+KWTTenB+NfR0EWIo99cIgydmre21ynYKmpHXQ1W6vtwtiv4XB7
-----END RSA PRIVATE KEY-----

passout

該命令的作用是使用輸入的密碼對輸出的文件進行密碼保護。在控制檯輸入openssl genrsa -out huang.key -passout pass:lei ,當點擊生成的文件時無法打開。需要使用密碼才能打開 。

engine

該命令是使用引擎進行加密,這個引擎一般是一個硬件設備。

rand

該命令的作用是加載一個文件作爲參數進行加密的隨機數生成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章