首先,说下java的cacerts证书库: JAVA_HOME目录下的jre的cacerts

  主要的步骤有4个:

  1. 生成证书
  2. 导出证书
  3. 导入证书

  生成证书(此处CN的值为localhost或者你想设置的域名,而 cas.example.org 是我想通过https访问的域名)

keytool -genkey -alias cas -keyalg RSA -keysize 2048 -keypass changeit -storepass changeit -keystore /etc/cas/thekeystore -dname "CN=cas.example.org,OU=duodian.com,O=duodian,L=Beijing,ST=BeiJing,C=CN"Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore /etc/cas/thekeystore -destkeystore /etc/cas/thekeystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

  解释: 在 /etc/cas 目录下,生成名为 thekeystore 的密钥库, changeit 分别为密钥口令和密钥库口令, 别名为 cas .

han@ubuntu:/etc/cas$ ls
cas.cer  config  logs  services-repo  thekeystore

  我们发现,在 /etc/cas 目录下已经生成 名为的 thekeystore 的证书.接下来我们导出证书

han@ubuntu:/etc/cas$ keytool -exportcert -alias cas -keystore ./thekeystore -file ./cas.cer -storepass changeit
存储在文件 </etc/cas/cas.cer> 中的证书Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore /etc/cas/thekeystore -destkeystore /etc/cas/thekeystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

  解释: 将 thekeystore 导出为 cas.cer, 路径就是当前路径 /etc/cas

  导入证书 cas.cer 到java的证书库中

han@ubuntu:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security$ sudo keytool -import -alias cas -keystore ./cacerts -file /etc/cas/cas.cer
[sudo] han 的密码:
输入密钥库口令:
所有者: CN=cas.example.org, OU=duodian.com, O=duodian, L=Beijing, ST=BeiJing, C=CN
发布者: CN=cas.example.org, OU=duodian.com, O=duodian, L=Beijing, ST=BeiJing, C=CN
序列号: 41739b25
有效期为 Mon Sep 17 11:44:09 CST 2018 至 Sun Dec 16 11:44:09 CST 2018
证书指纹:MD5:  F1:71:28:50:AF:2F:1C:56:8D:0F:E9:28:42:DD:F8:B7SHA1: D0:3D:16:A9:64:E8:FA:9D:23:DD:33:0E:E5:4A:16:59:7D:1A:C9:ACSHA256: 32:77:83:7C:10:1D:DA:72:FA:20:DF:D9:68:CF:B9:B6:6C:05:4E:76:FA:CC:A4:CC:AE:D3:B7:F4:3E:6D:F9:7A
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3扩展: #1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: D4 8C E9 3B 1D 4D CF 7D   44 4C 46 0E F7 B3 6D 21  ...;.M..DLF...m!
0010: 0C E3 C8 F2                                        ....
]
]是否信任此证书? [否]:  是
证书已添加到密钥库中

  解释:将上一步导出的cas.cer导入到java的证书库(即下图的 cascerts )中

han@ubuntu:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security$ ls
blacklisted.certs  cacerts  java.policy  java.security  nss.cfg  policy

  到此为止,将证书导入到java证书库的流程就算走完了...下边说下流程之外相关的东西:

  

  注意, cascerts 不是个文件夹:

han@ubuntu:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security$ cd cacerts
bash: cd: cacerts: 不是目录

  查看你导入java证书库的证书(通过别名 alias )

han@ubuntu:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security$ keytool -list -keystore ./cacerts -alias cas
输入密钥库口令:
cas, 2018-9-17, trustedCertEntry,
证书指纹 (SHA1): D0:3D:16:A9:64:E8:FA:9D:23:DD:33:0E:E5:4A:16:59:7D:1A:C9:AC

  删除你导入java证书库的证书(通过别名 alias ),我项目中

han@ubuntu:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security$ sudo keytool -delete -alias cas -keystore ./cacerts
[sudo] han 的密码:
输入密钥库口令:

  查看是否删除成功(提示别名 cas 不存在,说明删除删除成功)

han@ubuntu:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security$ keytool -list -keystore cacerts -alias cas
输入密钥库口令:
keytool 错误: java.lang.Exception: 别名 <cas> 不存在

 

转载于:https://www.cnblogs.com/hanshuai/p/9634972.html

ubuntu下 将证书导入java的cacerts证书库相关推荐

  1. 将Fiddler的服务器证书导入到Java的cacerts证书库里

    我在将Fiddler作为Java应用的代理时,在使用Java代码连接Fiddler时遇到了SSL证书相关的错误: liavax.net.ssl. SSLHandshakeException: sun. ...

  2. 安全证书导入到java中的cacerts证书库

    提示: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path buildi ...

  3. 如何把安全证书导入到java中的cacerts证书库(转)

    如何把安全证书导入到java中的cacerts证书库 提示:  javax.net.ssl.SSLHandshakeException: sun.security.validator.Validato ...

  4. java 防止证书导出_如何把安全证书导入到java中的cacerts证书库

    在项目开发中,有时会遇到与SSL安全证书导入打交道的,如何把证书导入java中的cacerts证书库呢? 其实很简单,方法如下: 每一步:进入某个https://www.xxx.com开头的网站,把要 ...

  5. java 导入 证书_如何把安全证书导入到java中的cacerts证书库

    在项目开发中,有时会遇到与SSL安全证书导入打交道的,如何把证书导入java中的cacerts证书库呢? 其实很简单,方法如下: 每一步:进入某个https://www.xxx.com开头的网站,把要 ...

  6. java安装证书_如何把安全证书导入到java中的cacerts证书库

    展开全部 把安全证书导入到java中的62616964757a686964616fe78988e69d8331333339663436cacerts证书库步骤: 1.先下载证书,然后使用命令导入 2. ...

  7. Linux: debian/ubuntu下安装和使用Java 11

    Linux: debian/ubuntu下安装和使用Java 11 只需6行命令: su - echo "deb http://ppa.launchpad.net/linuxuprising ...

  8. Linux: debian/ubuntu下安装和使用Java 8

    Linux: debian/ubuntu下安装和使用Java 8 7行命令解决问题: su - echo "deb http://ppa.launchpad.net/webupd8team/ ...

  9. ldap接触(1)之如何把安全证书导入到java中的cacerts证书库

    2019独角兽企业重金招聘Python工程师标准>>> 导入过程如下: 打开doc窗口:运行-cmd 再用cd进入到%JAVA_HOME%\jre\lib\security这个目录下 ...

最新文章

  1. 发布 | 《工业安全大数据蓝皮书》(2021年)
  2. android 浏览文件夹,如何浏览android中的文件夹并获取所选文件夹的路径
  3. python 类方法 静态方法_python中类方法、类实例方法、静态方法的使用与区别
  4. 【haproxy初始化】init_haproxy.sh
  5. C. Anton and Making Potions 贪心 + 二分
  6. PHP中error_reporting()详解
  7. JQuery. Parse XML children recursively. How? - Stack Overflow
  8. 德鲁伊 oltp oltp_内存中OLTP系列–简介
  9. Fast-RTPS初体验
  10. 蓝桥杯试题java_java蓝桥杯试题
  11. java mybatis cms_java cms系统 springmvc mybatis
  12. office和计算机基础,国二ms才office计算机基础知识.ppt
  13. 菜鸟python爬虫scrapy_Python爬虫(Scrapy)爬取秀人网
  14. mac 运行android模拟器速度慢,Android模拟器速度慢 启动时间长的解决办法
  15. 深度解析蔚来ET7自动驾驶技术
  16. FLAGS 作用及用法
  17. 向量的外积(outer product)与克罗内克积(Kronecker)
  18. Python中单引号和双引号括起来的短字符有什么区别
  19. java Runable类实现多线程计数器
  20. hssfrow 单元格样式_POI设置Excel单元格样式

热门文章

  1. http://miicaa.yopwork.com/help/overall/
  2. (转)SpringMVC学习(三)——SpringMVC的配置文件
  3. (转) Unity3D 使用Texturepacker打包工具制作NGUI(Atlas)图集
  4. 指向结构体的指针别名
  5. Shell Sort 希尔排序 收藏
  6. linux内存释放和使用限制
  7. 在redhat9中交叉编译nano-X nxlib和fltk
  8. 一致性算法(paxos,raft,ZAB)——paxos算法(大概)
  9. 前端工程化概述||模块化相关规范
  10. jquery返回顶部