本文主要介绍keytool CA签名SSL证书(收费),点击查看keytool自签名SSL证书(免费)以及私钥签名、公钥验签流程

最近给银行做一个系统,虽说是给行内使用的,但是系统要同时支持内外网方式登录,采用https(http+ssl)传输协议,经过SSL加密信息,防止用户信息被截获。

因此花了一段时间研究这方面的知识,主要从JDK自带keytool入手,研究如何通过keytool最终得到CA签名的SSL证书。

百度百科【CA】
证书颁发机构(CA, Certificate Authority)即颁发数字证书的机构。是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。科

百度百科【SSL】
Secure Sockets Layer 安全套接层及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

对于JDK自带的keytool指令,不论Windows还是Linux,该指令文件存放在JAVA_HOME/bin目录下,使用的前提是系统已搭建好JDK环境且配置JAVA环境变量。

正文以Linux操作为例,/usr/local/keys/是我个人证书文件存放路径,实际请自行替换相关路径。

相关文件

证书库www.justinqin.com_keystore.keystore
证书请求文件www.justinqin.com_certreq.csr
根证书root_cert.cer
签名证书www.justinqin.com_cert.cer

目录

一、生成证书库

二、生成证书请求文件

三、申请根证书、签名证书

四、根证书、签名证书导入证书库


一、生成证书库

keytool -genkeypair \-alias www.justinqin.com \-keyalg RSA \-keysize 2048 \-keypass mypassword \-sigalg SHA256withRSA \-dname "cn=www.justinqin.com,ou=justinqin,o=qjg,l=Shenzhen,st=Guangdong,c=CN" \-validity 1095 \-keystore /usr/local/keys/www.justinqin.com_keystore.keystore \-storetype JKS \-storepass mypassword

==================参数含义=======================
-genkeypair
非对称密钥(密钥对,私钥签名、公钥验签),对称密钥为-gendeskey(单个密钥)

-alias www.justinqin.com
证书库别名为www.justinqin.com

-keyalg RSA
加密算法为RSA,加密算法可以分为对称加密、不对称加密和不可逆加密算法
对称加密算法:加解密都用的同一把密钥,如DES、AES
不对称加密算法:使用密钥对即公钥、私钥进行加解密,如RSA SHS
不可逆加密算法:加密过程中不需要密钥,明文加密成密文后不可逆,如MD5
MD5、SHS的加密都是用了哈希加密算法

-keysize 2048
密钥长度,位数越大越安全,但同时加解密时间成正比增长

-keypass mypassword
私钥密码为mypassword

-sigalg SHA256withRSA
签名算法为SHA256withRSA
keyalg=RSA时,sigalg可选MD5withRSA、SHA1withRSA、SHA256withRSA、SHA384withRSA、SHA512withRSA
keyalg=DSA时,sigalg可选SHA1withDSA、SHA256withDSA

-dname "cn=www.justinqin.com,ou=justinqin,o=qjg,l=Shenzhen,st=Guangdong,c=CN"
证书相关信息
CN=名字与姓氏/域名
OU=组织单位名称
O=组织名称
L=城市或区域名称
ST=州或省份名称
C=单位的两字母国家代码

-keystore /usr/local/keys/www.justinqin.com_keystore.keystore
生成的证书库文件为www.justinqin.com_keystore.keystore,存储位置/usr/local/keys/

-validity 1095
证书有效天数为3年=1095

-storetype JKS
证书库类型为JKS,JDK1.9以前默认JKS,JDK1.9及以后默认PKCS12

-storepass mypassword
证书库密码为mypassword

二、生成证书请求文件

keytool -certreq \-keyalg RSA \-alias www.justinqin.com \-keystore /usr/local/keys/www.justinqin.com_keystore.keystore \-storetype JKS \-storepass mypassword \-file /usr/local/keys/www.justinqin.com_certreq.csr

==================参数含义=======================
-certreq
证书请求文件

-file /usr/local/keys/www.justinqin.com_certreq.csr
生成的证书请求文件为www.justinqin.com_certreq.csr,存储位置/usr/local/keys/

三、申请根证书、签名证书

用户提供证书请求文件,向CA申请根证书、签名证书流程
用户—>证书请求文件 —>CA(收钱)—>根证书、签名证书—>用户

四、根证书、签名证书导入证书库

根证书root_cert.cer—>证书库www.justinqin.com_keystore.keystore

keytool -import -trustcacerts \-keystore /usr/local/keys/www.justinqin.com_keystore.keystore \-storepass mypassword \-alias root_cert \-file root_cert.cer

签名证书www.justinqin.com_cert.cer—>证书库www.justinqin.com_keystore.keystore

keytool -import -trustcacerts \-keystore /usr/local/keys/www.justinqin.com_keystore.keystore \-storepass mypassword \-alias www.justinqin.com \-file /usr/local/keys/www.justinqin.com_cert.cer

=========================证书查看相关指令==============
证书库www.justinqin.com_keystore.keystore查看

keytool -list -v \-keystore /usr/local/keys/www.justinqin.com_keystore.keystore \-storepass mypassword


证书请求文件keys/www.justinqin.com_certreq.csr查看

keytool -printcertreq  -file /usr/local/keys/www.justinqin.com_certreq.csr


CA根证书root_cert.cer查看

keytool -printcert -file root_cert.cer

网络安全--keytool CA签名SSL证书(收费)相关推荐

  1. 网络--keytool自签名SSL证书(免费)以及私钥签名、公钥验签

    本文主要介绍keytool自签名SSL证书(免费)以及私钥签名.公钥验签流程,点击查看keytool CA签名SSL证书(收费) 最近给银行做一个系统,虽说是给行内使用的,但是系统要同时支持内外网方式 ...

  2. keytool生成证书_创建自签名ssl证书,Java生产jks证书

    一.创建自签名ssl证书 下载openssl软件: https://pan.baidu.com/s/1Zy4W7pqSO8caoR_R5pF3DQ  #提取码:bjd4 设置环境变量 进入openss ...

  3. openSSL命令、PKI、CA、SSL证书原理

    相关学习资料 http://baike.baidu.com/view/7615.htm?fr=aladdin http://www.ibm.com/developerworks/cn/security ...

  4. 自签名SSL证书有风险吗?

    自签名SSL证书的技术操作与自签名证书生成在互联网上有许多教程,许多用户想节省点银子,便选择自签名SSL证书,又担心自签名SSL证书会给网站带来风险.针对这一问题,我们必然要具体问题具体分析. 首先来 ...

  5. 自签名SSL证书的安全隐患和风险

    自签名SSL证书,是指不受信任的任意机构或个人,使用工具自己签发的SSL证书.有一些公司或者个人出于成本的考虑,会选择使用自签名SSL证书.一旦使用这种随意签发的.不受监督.信任的证书,就很容易被黑客 ...

  6. 自签名SSL证书介绍及其缺点

    标准SSL证书由受信任的证书颁发机构(CA)颁发和验证,此类证书使用信任链,其中每个证书都由更可靠的证书签名和信任,此链一直延伸到根证书.SSL证书一般需要付费使用,以致很多没有安全预算的企业选择在网 ...

  7. 使用OpenSSL创建自签名SSL证书

    近期的工作中遇到了数据传输加密的需求,就是在数据传输安全层面都要求使用https协议,因此为Web站点安装SSL证书就成了必须,以下就过程记录. 1.需求及选型 需求有两条: 支持内网IP地址 我们很 ...

  8. 自签名证书和私有CA签名的证书的区别 创建自签名证书 创建私有CA 证书类型 证书扩展名

    自签名的证书无法被吊销,CA签名的证书可以被吊销 能不能吊销证书的区别在于,如果你的私钥被黑客获取,如果证书不能被吊销,则黑客可以伪装成你与用户进行通信 如果你的规划需要创建多个证书,那么使用私有CA ...

  9. Linux 自签名ssl证书生成

    文章目录 一.生成CA私钥 二.创建ssl证书私钥 三.使用CA签署ssl证书 四.查看签署的证书信息

最新文章

  1. as3绘制抛物线(二)
  2. node python 速度_为什么python在递归上比node.js慢得多
  3. 如何在RCP程序中添加一个banner栏
  4. C++11 - sizeof用于类成员
  5. Mac idea 打不开
  6. 论文浅尝 - ACL2020 | 用于实体对齐的邻居匹配网络
  7. PCL Lesson5: 直通滤波+空间平面拟合+提供原始点云数据集PCD文件
  8. 寨板p45黑苹果10.12.6
  9. Subversion vs Subclipse
  10. java程序员的待遇_想学java,一般的java程序员的薪资待遇是多少?
  11. 消息中间件(消息队列)介绍
  12. 2017中国大学生计算机设计大赛总结
  13. 小米5USB 计算机连接,小米手机如何连接win7电脑传文件|小米手机连接win7传文件的方法...
  14. 算法与数据结构 - 数组详解
  15. noip by 20XZH02
  16. 计算机网络笔记(复习)
  17. android学习记录(2)关于Attempt to invoke virtual method
  18. macbook air 只安装win7系统
  19. hadoop启动命令 start-all.sh提示Permission denied问题解决
  20. 毕业一年的程序媛,现在都怎样了?

热门文章

  1. python之json数据库
  2. 《线性代数应该这样学》读书笔记
  3. 信息安全-零信任技术-SDP是什么,SDP可以防御哪些安全威胁
  4. 【js原生调用Node.js】使用spawn如果cwd不存在会报错
  5. [CTF密码学]RSA相关题目解题方法与python脚本总结(附例题)
  6. 在醒目的底子上踏实肯干
  7. 常见的分词方法接口+ jieba自定义领域内的词表然后加载词表进行分词
  8. 软考系统架构师教材推荐和学习方法
  9. 如何让一张图片填满整个页面
  10. 一级化学反应多步骤Fluent仿真文献复现(三维、多孔介质催化剂表面反应)