IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Java Keytool 命令行工具 -> 正文阅读

[网络协议]Java Keytool 命令行工具

Java Keytool 是什么?

Keytool 是Java提供的密钥(Key)和证书(Certificate)管理工具,用于管理公钥/私钥对以及相关证书。
Keytool是Java自带的工具,安装Java即可。位于Java安装的bin目录中, 比如C:\Program Files\Java\jre1.8.0_131\bin
在这里插入图片描述

如果安装了JDK则配置了JAVA_HOME, 则证书库文件位于 “%JAVA_HOME%/jre/lib/security/cacerts”。

密钥存储形式

Keytool 将密钥和证书存在 keystore 文件中,该文件包含:

  • 密钥: 如果是非对称加密,则包含私钥和配对公钥; 对称加密则只包含密钥。
  • 可信任的证书实体, 只包含公钥
    密钥存储在密钥库中,一个密钥库可以存储多个密钥对,每个密钥都取一个别名。

keytool 命令选项

  • -genkey 生成密钥
  • -genkeypair 生成一对非对称密钥
  • -alias 别名
  • -keysize 密钥长度
  • -keystore 生成密钥库的路径和名字。不指定的话则是在用户主目录, 文件名是 .keystore
  • -keyalg 密钥算法,比如RSA, DSA
  • -certreq 生成密钥请求文件
  • -import 导入证书
  • -export 导出证书
  • -validity 证书有效期, 默认90天
  • -list 列出证书库中的已有证书
  • -delete 删除某个证书
  • -keypass 密钥口令
  • -storepass 密钥库口令
  • -dname , 拥有者信息, CN姓名 , OU 组织单位名称, O组织名称, ST省市 , C国家
    -dname "CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=CN"

genkey 生成公私密钥对

keytool -genkey -alias myapp -keyalg RSA -keystore myapp.keystore

  • 以上命令会要求输入密码等信息, 证书库密码默认是 changeit
  • 名字和姓氏输入的是域名或是主机名。
  • 密钥库的密码和密钥的密码可以相同,也可以分别设置。第一次输入的是证书库的管理密码, 第二次输入的是该证书的密码。

将证书导入JDK的证书信任库

分为两步:

  1. keytool -export -trustcacerts -alias myapp -file myapp.cer -keystore myapp.keystore -storepass changeit
    导出的证书文件myapp.cer
  2. keytool -import -trustcacerts -alias myapp -file myapp.cer -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit

查看当前机器的java证书库中的已有证书

keytool -list -v -keystore "C:\Program Files\Java\jre1.8.0_131\lib\security\cacerts"
  • -v 详细列出
    这里需要输入证书管理密码, 默认是 changeit

删除某个证书

keytool -delete -alias www.my.com -keystore "C:\Program Files\Java\jre1.8.0_131\lib\security\cacerts"  -storepass changeit
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-02-19 01:33:50  更:2022-02-19 01:34:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 9:47:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码