产生key的时候用过seed的文件,可以把多个文件用冒号分开一起做seed. paramfile
指定使用的DSA参数文件。
--------------------------------------------------------------------------------
openssl简介-指令genrsa
用法:
openssl genrsa [-out filename] [-passout arg] [-des] [-des3] [-idea]
[-f4] [-3] [-rand file(s)] [numbits]
DESCRIPTION
生成RSA私有密钥的工具。[/b:e2fe605c7d]
OPTIONS -out filename
私有密钥输入文件名,缺省为标准输出。
the output filename. If this argument is not specified then standard output is uused. -passout arg
参看指令dsa里面的passout参数说明
-des|-des3|-idea
采用什么加密算法来加密我们的密钥。一般会要你输入保护密码。 如果这三个中一个也没set, 我们的密钥将不被加密而输入。
-F4|-3
使用的公共组件,一种是3, 一种是F4, 我也没弄懂这个option是什么意思。 -rand file(s)
产生key的时候用过seed的文件,可以把多个文件用冒号分开一起做seed. numbits
指明产生的参数的长度。必须是本指令的最后一个参数。如果没有指明,则产生512bit长的参数。
研究过RSA算法的人肯定知道,RSA的私有密钥其实就是三个数字,其中俩个是质数。这俩个呢,就叫prime numbers.产生RSA私有密钥的关键就是产生这俩。还有一些其他的参数,引导着整个私有密钥产生的过程。因为产生私有密钥过程需要很多随机数,这个过程的时间是不固定的。
产生prime numbers的算法有个bug, 它不能产生短的primes. key的bits起码要有64位。一般我们都用1024bit的key.
--------------------------------------------------------------------------------
openssl简介-指令passwd
SYNOPSIS
openssl passwd [-crypt] [-1] [-apr1] [-salt string] [-in file] [-stdin]
[-quiet] [-table] {password}
说明:
本指令计算用来哈希某个密码,也可以用来哈希文件内容。[/b:da40679049] 本指令支持三种哈希算法:
UNIX系统的标准哈希算法(crypt) MD5-based BSD(1)
OPTIONS
-crypt -1 -apr1
这三个option中任意选择一个作为哈希算法,缺省的是-crypt -salt string
输入作为salt的字符串。 -in file
要哈希的文件名称 -stdin
从标准输入读入密码
-quiet
当从标准输入读密码,输入的密码太长的时候,程序将自动解短它。这个option的 set将不在情况下发出警告。
-table
在输出列的时候,先输出明文的密码,然后输出一个TAB,再输出哈希值. 举例时间:
openssl passwd -crypt -salt xx password xxj31ZMTZzkVA.
openssl passwd -1 -salt xxxxxxxx password $1$xxxxxxxx$8XJIcl6ZXqBMCK0qFevqT1. openssl passwd -apr1
$apr1$xxxxxxxx$dxHfLAsjHkDRmG83UXe8K0
--------------------------------------------------------------------------------
-salt
xxxxxxxx
password
openssl简介-指令pkcs7 用法:
openssl pkcs7 [-inform PEM|DER] [-outform PEM|DER] [-in filename]
[-out filename] [-print_certs] [-text] [-noout]
说明:
处理PKCS#7文件的工具, [/b:6d30603c82]
OPTIONS
-inform DER|PEM
指定输入的格式是DEM还是DER. DER格式采用ASN1的DER标准格式。一般用的多的都是PEM格式,就是base64编码格式.你去看看你做出来的那些.key, .crt文件一般都是PEM格式的,第一行和最后一行指明内容,中间就是经过编码的东西。 -outform DER|PEM
和上一个差不多,不同的是指定输出格式 -in filename
要分析的文件名称, 缺省是标准输入. -out filename
要输出的文件名, 缺省是标准输出. write to or standard output by default. -print_certs
打印出该文件内的任何证书或者CRL. -text
打印出证书的细节.
-noout
不要打印出PKCS#7结构的编码版本信息. 举例时间:
把一个PKCS#7文件从PEM格式转换成DER格式
openssl pkcs7 -in file.pem -outform DER -out file.der 打印出文件内所有的证书
openssl pkcs7 -in file.pem -print_certs -out certs.pem PCKS#7 文件的开始和结束俩行是这样子的: -----BEGIN PKCS7----- -----END PKCS7-----
为了和某些猥琐CA兼容,这样子的格式也可以接受
-----BEGIN CERTIFICATE----- -----END CERTIFICATE-----
好象我们还没有解释pkcs#7是什么东西. 有兴趣的可以看看rfc2315, 估计看完目录还没有阵亡的同学不会超过1/10.
--------------------------------------------------------------------------------
openssl简介-指令rand
用法:
openssl rand [-out file] [-rand file(s)] [-base64] num
描述:
用来产生伪随机字节. 随机数字产生器需要一个seed, 先已经说过了,在没有/dev/srandom系统下的解决方法是自己做一个~/.rnd文件.如果该程序能让随机数字产生器很满意的被seeded,程序写回一些怪怪的东西回该文件. [/b:55d4e97ab2]
OPTIONS -out file 输出文件.
-rand file(s)
产生随机数字的时候用过seed的文件,可以把多个文件用冒号分开一起做seed. -base64
对产生的东西进行base64编码 num
指明产生多少字节随机数.
--------------------------------------------------------------------------------
openssl简介-指令req
用法:
openssl req [-inform PEM|DER] [-outform PEM|DER] [-in filename]
[-passin arg] [-out filename] [-passout arg] [-text] [-noout]
[-verify] [-modulus] [-new] [-rand file(s)] [-newkey rsa:bits]
[-newkey dsa:file] [-nodes] [-key filename] [-keyform PEM|DER]
[-keyout filename] [-[md5|sha1|md2|mdc2]] [-config filename]
[-x509] [-days n] [-asn1-kludge] [-newhdr] [-extensions section]
[-reqexts section]
描述:
本指令用来创建和处理PKCS#10格式的证书.它还能够建立自签名证书,做Root CA. [/b:866f672f5a] OPTIONS
-inform DER|PEM
指定输入的格式是DEM还是DER. DER格式采用ASN1的DER标准格式。一般用的多的都是PEM格式,就是base64编码格式.你去看看你做出来的那些.key, .crt文件一般都是PEM格式的,第一行和最后一行指明内容,中间就是经过编码的东西。
-outform DER|PEM
和上一个差不多,不同的是指定输出格式 -in filename
要处理的CSR的文件名称,只有-new和-newkey俩个option没有被set,本option才有效
-passin arg
去看看CA那一章关于这个option的解释吧。 -out filename 要输出的文件名
-passout arg
参看dsa指令里的passout这个option的解释吧. -text
将CSR文件里的内容以可读方式打印出来 -noout
不要打印CSR文件的编码版本信息.
-modulus
将CSR里面的包含的公共米要的系数打印出来. -verify
检验请求文件里的签名信息.
-new
本option产生一个新的CSR, 它会要用户输入创建CSR的一些必须的信息.至于需要哪些信息,是在config文件里面定义好了的.如果-key没有被set, 那么就将根据config文件里的信息先产生一对新的RSA密钥 -rand file(s)
产生key的时候用过seed的文件,可以把多个文件用冒号分开一起做seed. -newkey arg
同时生成新的私有密钥文件和CSR文件. 本option是带参数的.如果是产生RSA的私有密钥文件,参数是一个数字, 指明私有密钥bit的长度. 如果是产生DSA的私有密钥文件,参数是DSA密钥参数文件的文件名.
-key filename
参数filename指明我们的私有密钥文件名.允许该文件的格式是PKCS#8.
-keyform DER|PEM
指定输入的私有密钥文件的格式是DEM还是DER. DER格式采用ASN1的DER标准格式。一般用的多的都是PEM格式,就是base64编码格式.你去看看你做出来的那些.key, .crt