1 理论部分
1.1 证书
1.1.1 证书的概念
证书是来自一个实体(个人或公司等)的数字签名声明,用于声明某个实体的公钥(包括其他信息)具有特定的价值。
1.1.2 证书的作用
– 检验数据的完整性,意味着数据没有被修改或篡改。
– 检验数据的真实性,意味着数据来自于证书持有的实体。
1.2 keytool
1.2.1 keytool的简介
– keytool是一个密码和证书的管理实用程序
1.2.2 keytool的作用
– keytool使得用户可以使用数据证书签名来管理非对称密钥对(公钥和私钥)和相关证书
– keytool使得用户可以使用数据证书签名来管理对称加密和解密(DES)中使用的密钥和密码
– keytool命令可将密码和证书存储在密码库中(KeyStore)
1.2.3 keytool的应用场景
– keytool生成的数字签名用于用户自验证
– keytool生成的数字签名用于验证数据完整性验证
– keytool生成的数字签名用于验证服务的真实性
1.3 keystore
1.3.1 keystore的概念
keystore即密码库,是密码和证书的存储设施
1.3.2 keystore的条目分类
keystore文件包含两种条目,
– 密码实体(Key entity),秘钥(secret key),密钥信息以加密的方式存储
– 可信任的证书实体(trusted certificate entries),只包含服务端的公钥证书,也称可信证书
1.3.3 Key Store ailas简介
即密码库别名,它的作用是使得密码库条目可通过唯一的别名访问
2 实践部分
2.1 环境信息
IP Address = 10.168.0.81
OS = CentOS 7.3 x86_64
请搭建以下JDK环境,
https://www.cmdschool.org/archives/397
2.2 创建证书
keytool -genkey -alias www.cmdschool.org -keyalg RSA -keysize 1024 -keypass cmdschoolpwd -validity 365 -keystore ~/www.cmdschool.org.keystore -storepass cmdschoolpwd2
2.3 查看证书
2.3.1 可读格式打印
keytool -list -v -keystore ~/www.cmdschool.org.keystore -storepass cmdschoolpwd2
2.3.2 编码格式打印
keytool -list -rfc -keystore ~/www.cmdschool.org.keystore -storepass cmdschoolpwd2
2.4 导出证书
2.4.1 导出操作
keytool -export -alias www.cmdschool.org -keystore ~/www.cmdschool.org.keystore -file ~/www.cmdschool.org.crt -storepass cmdschoolpwd2
2.4.2 检查导出证书
keytool -printcert -file ~/www.cmdschool.org.crt
2.5 权威机构认证的证书
权威机构认证的证书请直接去腾旭云申请DV证书即可。
https://console.cloud.tencent.com/ssl
参阅文档:
https://docs.oracle.com/javase/8/docs/technotes/tools/unix/keytool.html
https://docs.oracle.com/javase/8/docs/technotes/tools/unix/keytool.html#CHDJHCAA
http://blog.csdn.net/fengwind1/article/details/52191520
http://www.micmiu.com/lang/java/keytool-start-guide/
http://blog.csdn.net/dotuian/article/details/51722300
没有评论