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

  主要的步骤有4个:

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

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

  1. 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"
  2.  
  3. Warning:
  4. JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore /etc/cas/thekeystore -destkeystore /etc/cas/thekeystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12

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

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

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

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

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

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

  1. han@ubuntu:/usr/lib/jvm/java--openjdk-amd64/jre/lib/security$ sudo keytool -import -alias cas -keystore ./cacerts -file /etc/cas/cas.cer
  2. [sudo] han 的密码:
  3. 输入密钥库口令:
  4. 所有者: CN=cas.example.org, OU=duodian.com, O=duodian, L=Beijing, ST=BeiJing, C=CN
  5. 发布者: CN=cas.example.org, OU=duodian.com, O=duodian, L=Beijing, ST=BeiJing, C=CN
  6. 序列号: 41739b25
  7. 有效期为 Mon Sep :: CST Sun Dec :: CST
  8. 证书指纹:
  9. MD5: F1::::AF:2F:1C::8D:0F:E9:::DD:F8:B7
  10. SHA1: D0:3D::A9::E8:FA:9D::DD::0E:E5:4A:::7D:1A:C9:AC
  11. SHA256: :::7C::1D:DA::FA::DF:D9::CF:B9:B6:6C::4E::FA:CC:A4:CC:AE:D3:B7:F4:3E:6D:F9:7A
  12. 签名算法名称: SHA256withRSA
  13. 主体公共密钥算法: RSA 密钥
  14. 版本:
  15.  
  16. 扩展:
  17.  
  18. #: ObjectId: 2.5.29.14 Criticality=false
  19. SubjectKeyIdentifier [
  20. KeyIdentifier [
  21. : D4 8C E9 3B 1D 4D CF 7D 4C 0E F7 B3 6D ...;.M..DLF...m!
  22. : 0C E3 C8 F2 ....
  23. ]
  24. ]
  25.  
  26. 是否信任此证书? [否]:
  27. 证书已添加到密钥库中

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

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

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

  

  注意, cascerts 不是个文件夹:

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

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

  1. han@ubuntu:/usr/lib/jvm/java--openjdk-amd64/jre/lib/security$ keytool -list -keystore ./cacerts -alias cas
  2. 输入密钥库口令:
  3. cas, --, trustedCertEntry,
  4. 证书指纹 (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 不存在,说明删除删除成功)

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

 

ubuntu下 将证书导入java的cacerts证书库的更多相关文章

  1. 记录怎样把安全证书导入到java中的cacerts证书库

    这次项目上需要去证书中解析公钥所以这里分享下方法: 首先准备一个证书文件比如叫:test.crt(一般是cer结尾) 下一步准备把证书导入到导入java中的cacerts证书库里 方法如下: 比如本地 ...

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

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

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

    每一步:进入某个https://www.xxx.com开头的网站,把要导入的证书下载, 在该网页上右键 >> 属性 >> 点击"证书" >> 再 ...

  4. ubuntu 下安装eclipse &amp;java环境配置

    前面有一篇的博客写的是ubuntu下安装eclipse和java环境的配置.当时是安装网上的攻略进行的 ,当然也是能够成功的. 近期把那台电脑送人了 ,仅仅好在自己的这台电脑上又一次安装一次了 ,唯一 ...

  5. Ubuntu下eclipse不能新建java项目 java project的解决办法

    在ubuntu系统中,装了eclipse,打开过,后来装了JDK,却不能新建java项目.重装了几遍eclipse也没有用. 原因分析: 之所以新建找不到java项目是因为eclipse有残留文件导致 ...

  6. 将.cer证书导入java密钥库?

    导入.cer从浏览器下载的证书文件(打开网址并挖掘详细信息)到cacerts keystore中java_home\jre\lib\security为我工作,而不是尝试生成和使用我自己的密钥库. 去你 ...

  7. 解决Ubuntu下Firefox+OpenJDK没有Java插件的问题

    如果是安装的OpenJDK,很遗憾它是没有libnpjp2.so的. 此时按照网上各种奇怪的方法都挣扎无效,但可以用icedtea插件来解决这个问题. icedtea的版本与本机安装的OpenJDK版 ...

  8. 使用jdk生成证书以及把证书导入到jdk中

    证书对于实现此单点登录非常之重要,证书是服务器端和客户端安全通信的凭证,本教程只是演示,所有用了JDK自带的证书生成工具keytool.当然在实际项目中你可以到专门的证书认证中心购买证书. 中文官方网 ...

  9. Ubuntu下Java开发环境搭建(eclipse)

    最近把工作环境转移到了Ubuntu Kylin下,发现在这下面Java环境还是很方便的.然而也经历了一些摸索的过程,故作文以记之. 一/开发前准备 安装系统/配置软件源,这部分内容没什么需要注意的.O ...

随机推荐

  1. python之路day07-集合set的增删查、列表如何排重(效率最高的方法)、深浅copy

    集合set 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. ...

  2. docker学习------docker login Harbor失败,需添加http允许权限

    systemctl  status docker 到docker的service文件里更改配置 加上这行参数就ok了,然后重启docker

  3. nodejs学习以及SSJS漏洞

    0x01 简介 什么是nodejs,it's javascript webserver! JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对 ...

  4. golang _下划线占位符代替需要释放的资源的问题

    golang中_有两种作用,一种用在import中,比如这样 import _ "github.com/go-sql-driver/mysql" 表示并不需要导入整个包,只是执行这 ...

  5. hdu5974 A Simple Math Problem(数学)

    题目链接 大意:给你两个数X,YX,YX,Y,让你找两个数a,ba,ba,b,满足a+b=X,lcm(a,b)=Ya+b=X,lcm(a,b)=Ya+b=X,lcm(a,b)=Y. 思路:枚举gcd( ...

  6. selenium中的下拉框处理模块Select

    在UI自动化测试过程中,经常会遇到一些下拉框,如果我们基于Webdriver操作的话就需要click两次,而且很容易出现问题,实际上Selenium给我们提供了专门的Select(下拉框处理模块). ...

  7. ssh远程访问失败 Centos7

    ssh远程访问失败 Centos7 命令ssh远程访问另外一台主机hadoop.master失败 #ssh hadoop.master 报以下信息 [root@hadoop ~]# ssh hadoo ...

  8. ddt源码修改:HtmlTestRunner报告依据接口名显示用例名字

    背景是这样的: 自己写了一套接口自动化的框架,其中使用unittest + ddt + excel作为数据驱动模式的应用,使用HtmlTetstRunner来生成测试用例. 一切看起来很完美. 但是, ...

  9. boston_housing-多分类问题

    from keras.datasets import boston_housing import numpy as np from keras import models from keras imp ...

  10. redhat7初始化yum源

    1.卸载原有的yum [app@localhost ~]$ su - root Password: Last :: CST on pts/ [root@localhost ~]# cd /etc/yu ...