赞
踩
在生成Key之前,你需要了解公钥、私钥的概念。
在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。
公钥:公钥用来给数据加密,用公钥加密的数据只能使用私钥解密。
私钥:用来解密公钥加密的数据。
OpenSSL支持RSA、DSA和ECDSA key,但不是所有的算法都可以适用所有场合。例如对于SSL Key,大家都用RSA,因为DSA Key实际上被限制为1024 bit,另外的ECDSA Key也还未被CA支持。
openssl genrsa -out fd-private.pem 2048
fd-private.pem 是生产key的名称可随意 ,2048是生成密钥的长度,这是PKCS1格式的Private Key
从Private Key生成Public Key
openssl rsa -in /Desktop/fd-private.pem -pubout -out /Desktop/fd-public.pem
PKCS1(该格式一般net和IOS用)私钥转换为PKCS8(该格式一般java调用)
openssl pkcs8 -topk8 -inform PEM -in /Desktop/fd-private.pem -outform pem -nocrypt -out /Desktop/fd-private-pkcs8.pem
pem和der格式转换
openssl rsa -inform PEM -in fd.pem -outform DER -out fd.der
openssl rsa -inform DER -in fd.der -outform PEM -out fd.pem
openssl req -new -x509 -key fd-private.pem -out fd-private.cer -days 3650 -subj /CN=baidu.com
fd-private.key为之前生成的key的名字,fd-private.cer为生成的证书名字,3650为证书过期天数,CN的参数baidu.com是的你主机名或者IP地址。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。