ubuntu下 将证书导入java的cacerts证书库
首先,说下java的cacerts证书库: JAVA_HOME目录下的jre的cacerts
主要的步骤有4个:
- 生成证书
- 导出证书
- 导入证书
生成证书(此处CN的值为localhost或者你想设置的域名,而 cas.example.org 是我想通过https访问的域名)
keytool -genkey -alias cas -keyalg RSA -keysize -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--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 :: CST 至 Sun Dec :: CST
证书指纹:
MD5: F1::::AF:2F:1C::8D:0F:E9:::DD:F8:B7
SHA1: D0:3D::A9::E8:FA:9D::DD::0E:E5:4A:::7D:1A:C9:AC
SHA256: :::7C::1D:DA::FA::DF:D9::CF:B9:B6:6C::4E::FA:CC:A4:CC:AE:D3:B7:F4:3E:6D:F9:7A
签名算法名称: SHA256withRSA
主体公共密钥算法: 位 RSA 密钥
版本: 扩展: #: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
: D4 8C E9 3B 1D 4D CF 7D 4C 0E F7 B3 6D ...;.M..DLF...m!
: 0C E3 C8 F2 ....
]
] 是否信任此证书? [否]: 是
证书已添加到密钥库中
解释:将上一步导出的cas.cer导入到java的证书库(即下图的 cascerts )中
han@ubuntu:/usr/lib/jvm/java--openjdk-amd64/jre/lib/security$ ls
blacklisted.certs cacerts java.policy java.security nss.cfg policy
到此为止,将证书导入到java证书库的流程就算走完了...下边说下流程之外相关的东西:
注意, cascerts 不是个文件夹:
han@ubuntu:/usr/lib/jvm/java--openjdk-amd64/jre/lib/security$ cd cacerts
bash: cd: cacerts: 不是目录
查看你导入java证书库的证书(通过别名 alias )
han@ubuntu:/usr/lib/jvm/java--openjdk-amd64/jre/lib/security$ keytool -list -keystore ./cacerts -alias cas
输入密钥库口令:
cas, --, trustedCertEntry,
证书指纹 (SHA1): D0:3D::A9::E8:FA:9D::DD::0E:E5:4A:::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--openjdk-amd64/jre/lib/security$ keytool -list -keystore cacerts -alias cas
输入密钥库口令:
keytool 错误: java.lang.Exception: 别名 <cas> 不存在
ubuntu下 将证书导入java的cacerts证书库的更多相关文章
- 记录怎样把安全证书导入到java中的cacerts证书库
这次项目上需要去证书中解析公钥所以这里分享下方法: 首先准备一个证书文件比如叫:test.crt(一般是cer结尾) 下一步准备把证书导入到导入java中的cacerts证书库里 方法如下: 比如本地 ...
- 如何把安全证书导入到java中的cacerts证书库(转)
如何把安全证书导入到java中的cacerts证书库 提示: javax.net.ssl.SSLHandshakeException: sun.security.validator.Validat ...
- 如何把安全证书导入到java中的cacerts证书库
每一步:进入某个https://www.xxx.com开头的网站,把要导入的证书下载, 在该网页上右键 >> 属性 >> 点击"证书" >> 再 ...
- ubuntu 下安装eclipse &java环境配置
前面有一篇的博客写的是ubuntu下安装eclipse和java环境的配置.当时是安装网上的攻略进行的 ,当然也是能够成功的. 近期把那台电脑送人了 ,仅仅好在自己的这台电脑上又一次安装一次了 ,唯一 ...
- Ubuntu下eclipse不能新建java项目 java project的解决办法
在ubuntu系统中,装了eclipse,打开过,后来装了JDK,却不能新建java项目.重装了几遍eclipse也没有用. 原因分析: 之所以新建找不到java项目是因为eclipse有残留文件导致 ...
- 将.cer证书导入java密钥库?
导入.cer从浏览器下载的证书文件(打开网址并挖掘详细信息)到cacerts keystore中java_home\jre\lib\security为我工作,而不是尝试生成和使用我自己的密钥库. 去你 ...
- 解决Ubuntu下Firefox+OpenJDK没有Java插件的问题
如果是安装的OpenJDK,很遗憾它是没有libnpjp2.so的. 此时按照网上各种奇怪的方法都挣扎无效,但可以用icedtea插件来解决这个问题. icedtea的版本与本机安装的OpenJDK版 ...
- 使用jdk生成证书以及把证书导入到jdk中
证书对于实现此单点登录非常之重要,证书是服务器端和客户端安全通信的凭证,本教程只是演示,所有用了JDK自带的证书生成工具keytool.当然在实际项目中你可以到专门的证书认证中心购买证书. 中文官方网 ...
- Ubuntu下Java开发环境搭建(eclipse)
最近把工作环境转移到了Ubuntu Kylin下,发现在这下面Java环境还是很方便的.然而也经历了一些摸索的过程,故作文以记之. 一/开发前准备 安装系统/配置软件源,这部分内容没什么需要注意的.O ...
随机推荐
- 算法-动态规划 Dynamic Programming--从菜鸟到老鸟
算法-动态规划 Dynamic Programming--从菜鸟到老鸟 版权声明:本文为博主原创文章,转载请标明出处. https://blog.csdn.net/u013309870/ar ...
- linux下python安装
下载包: wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.gz 解压安装: tar -zvxf Python-3.6.3. ...
- java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"报错
出现问题的原因: 内存用户验证时,Spring boot 2.0.1引用的security 依赖是 spring security 5.X版本,此版本需要提供一个PasswordEncorder的实例 ...
- python模拟页面调度LRU算法
所谓LRU算法,是指在发生缺页并且没有空闲主存块时,把最近最少使用的页面换出主存块,腾出地方来调入新页面. 问题描述:一进程获得n个主存块的使用权,对于给定的进程访问页面次序,问当采用LRU算法时,输 ...
- Node.js目录
[相关学习] npm入门教程 [基础] (1) 初识Node.js (2) 开发环境和调试工具 (3) commonJs 规范 (4) node 概念(global.process进程.调试) (5) ...
- Docker实践之01-入门介绍
目录 一.Docker概述 镜像 容器 仓库 二.安装Docker 1.在CentOS上安装Docker 2.在Ubuntu上安装Docker 3.启动docker 4.建立Docker用户组 5.测 ...
- Springboot自定义异常处理
1.自定义异常类 import lombok.Data; @Data public class UserException extends RuntimeException { private Lon ...
- Python——安居客租房信息爬取(以南昌为例)
前言: 提前安装好所需要的库. 本代码的输入仅需要某个城市的租房地址首页即可,其他自会生成. 使用前请创建所需的目录,或者为代码添加os.makedir() 支持断点重爬,重行运行即可. header ...
- webpack4.0学习记录
2019/04/28 1.本质上,webpack基于node node跟webpack为最新稳定版,才能更好,更快的打包 安装 1.卸载node 直接在控制面板 卸载 2.安装 从官网下载 然后 ...
- 面向对象原生JavaScript案例炫彩小球
面向对象其实对于初学者来说还是比较难以理解的,以前看到一个面试题目 面向对象是什么? 面向对象是一种思想,千万别入坑了: 这次给大家带来的是一个鼠标移动产生小球的案例,不是我不想给大家分享如何去认识面 ...