java和签名工具_java 证书工具keytool生成自签名证书和自签CA证书

本文介绍了如何使用Java SDK自带的keytool工具生成自签名证书,包括理解相关概念如keystore、truststore、CSR文件,以及如何导出、导入证书。通过自签名证书和二级证书的创建,展示了SSL/TLS加密通信中的证书使用流程。
摘要由CSDN通过智能技术生成

jdk自带的证书管理工具叫keytool,在jdk/bin目录下,可以用来生成自签名证书、导入导出证书、打印证书信息等。

1. 名词

自签名证书:用自己的私钥签发自己的公钥即主体信息生成的证书。

证书签名:对证书固定值进行hash后用密钥对中的私钥对hash值加密

keystore: keytool生成证书的存储库,用来存储若干条目,每一条目包含公私钥,主体信息等。默认为用户目录下.keystore,相当于一个有密码保护的文件。

truststore: 与keystore格式相同,但是为区分只用来存放信任的证书,不存密钥等信息。

der:证书编码格式,证书结构体转换为二进制格式。

pem:证书编码格式,对der二进制编码的base64字符,包含---begin---,----end----。// 命令中加-rfc可打印和生成此类文件

.csr:证书请求文件格式,包含公钥和主体信息,发给ca,ca用私钥对内容签名并制作成证书返回。keytool在生成csr文件时需要指定证书(即公钥与主体信息)。

.crt:一般用于linux系统的证书格式,包含公钥和主体信息。

.cer:一般用于windows的证书文件格式,包含公钥和主体信息。

.p12:证书交换格式,包含公钥私钥(私用密码加密),用于交换传输。

2.具体使用

可以以一个完整例子来了解keytool命令。在socket或http协议传输数据时,如需加密传输会话内容,会在TCP上加上ssl/tls,http则改为https协议。此时服务端需要给客户端提供证书以供客户端验证并协商会话密钥,如果没有正规CA签发的证书,则需

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值