jks cer 证书生成

  • jks是java keystore的简称,是java的数字证书库,查看证书私钥需要密码,避免私钥一名文的形式出现在代码中

  • 情景一:客户端签名,服务器验签,确定是否是自己人

  1. 使用keytool生成jks,keytool工具在java->jdk->bin目录下,使用命令行,ps:红色部分请自行替换

    keytool -genkey -alias 别名 -keyalg RSA -keystore 文件名.jks

    经过一番复杂的输入,生成的jks文件在桌面->我的文档根目录下,这个jks里包含了自动生成的私钥

  2. 导出公钥cer证书,生成的cer文件在桌面->我的文档根目录下

    keytool -export -alias 别名 -keystore 文件名.jks -storepass 密码 -file 文件名.cer
  3. 用私钥对数据签名,这里只贴核心代码,用时自行补全
    1 KeyStore ks = KeyStore.getInstance("JKS");
    2 fis = new FileInputStream("路径\\文件名.jks");
    3 String storePassword = "上面生成jks时的密码";
    4 String storeAlias = "上面生成jks时的别名";
    5 ks.load(fis, storePassword.toCharArray());
    6 PrivateKey prikey = (PrivateKey) ks.getKey(storeAlias,storePassword.toCharArray());7 String priKeyStr = Base64.getEncoder().encodeToString(prikey.getEncoded());//查看私钥用8 System.out.println("私钥:"+priKeyStr);//查看私钥9 //用私钥签名
  4. 服务器用cer文件读取公钥,对客户端传输数据进行验签
  • 情景二:客户端加密,服务器解密,对传输数据进行加密

  1. 读取服务器cer证书为公钥,然后用公钥加密明文,传送密文给服务器

    1 is = new FileInputStream("路径\\文件名.cer"); 2 CertificateFactory cf = CertificateFactory.getInstance("X.509"); 3 X509Certificate cert = (X509Certificate) cf.generateCertificate(is);4 PublicKey publicKey=cert.getPublicKey();5 String pubKeyStr= Base64.getEncoder().encodeToString(publicKey.getEncoded());//查看公钥用6 System.out.println("公钥:"+pubKeyStr);//查看公钥7 //用公钥加密
  2. 服务器用私钥解出明文

注:一般明文较长,非对称加解密较慢,所以一般先用对称加密加密明文,然后用非对称加密加密对称加密密文

时间: 2024-11-02 17:26:23

jks cer 证书生成的相关文章

java 调用 keytool 生成keystore 和 cer 证书

keytool是一个Java数据证书的管理工具, keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里, 包含两种数据: 密钥实体(Key entity)——密钥(secret key)又或者是私钥和配对公钥(采用非对称加密) 可信任的证书实体(trusted certificate entries)——只包含公钥 ailas(别名)每个keystore都关联这一个独一无二的alias,这个alias通常不区分大小写 下面给出一

如何导出cer证书及证书链的生成

如何导出cer证书的Base64编码信息 1.将证书双击,安装到IE中,如果是个人证书会安装到:在IE的 工具 -> internet选项  -> 内容 -> 证书 -> 个人2.打开IE,在在IE的 工具 -> internet选项  -> 内容 -> 证书 -> 个人 中,找到这张证书,选中它3.点击"导出"按钮4.点击"下一步",再点击"下一步"5.选择"Base64编码X.509(

Openssl CA证书生成以及双向认证,及windows系统证书批量导出,android cer转bks

Openssl CA证书生成以及双向认证 首先本文主要参照这篇文章写的 http://h2appy.blog.51cto.com/609721/1181234 只是途中有些问题折腾了一下,比如openssl.cnf如何来的,这个文件在编译完openssl后,应该openssl根目录下/apps/demoCA有个,可以把他拷贝到openssl.exe同一级目录 里面有些目录配置,自己可以修改下,但是我没有修改,所以最后生成的文件路径必须按openssl.cnf里面来,至于如何编译openssl 请

Tomcat openSSL自定义签名证书生成与部署

参考 http://www.cnblogs.com/tyjsjl/p/3359255.html 生成CA签名证书keystore keytool -genkey -alias ca_server -keyalg RSA -keystore ca_server.jks -validity 3600 -storepass 123456 您的名字与姓氏是什么?  [Unknown]:   您的组织单位名称是什么?  [Unknown]:  itian 您的组织名称是什么?  [Unknown]:  i

前后端(支持app)RSA加密通信证书生成方法汇编

最近一个项目,处于安全上的考虑,前后端需要使用安全证书加密通信,涉及ios/android-后台交互.在测试环境上没有正式的CA证书,使用自签证书开发. 下面把生成4套环境的自签证书过程mark下,如有需要,可参考: 以下命令的执行环境均为windows-cmd界面(前提需安装jdk,使用jdk自带的keytool工具) 1.生成jks.csr证书(这俩证书暂时没用): keytool -genkey -alias *.test.com -sigalg SHA1withRSA -keyalg R

java PKCS12 证书生成

引入依赖 <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</artifactId> <version>1.49</version> </dependency> <dependency> <groupId>org.bouncycastle</groupId> <arti

苹果开发——Xcode证书生成、设置及应用

原地址:http://zengwu3915.blog.163.com/blog/static/2783489720137483422530/ 开发环境: Mac OS lion 10.8.2.Xcode 4.5.1 1. 点击应用程序 -> 实用工作 -> 钥匙串 2. 在菜单栏中依次选择:钥匙串访问 -> 偏好设置 -> 证书选项卡,下面两项全部选择关闭 3. 生成证书请求:钥匙串访问 -> 证书助理 -> 从证书颁发机构请求证书 4. 输入两个电子邮件地址和常用名称

ios证书生成

iOS有两种证书和描述文件: 证书类型 使用场景 开发(Development)证书和描述文件 用于开发测试 发布(Distribution)证书和描述文件 用于提交Appstore 准备环境 必需要有苹果开发者账号,并且加入了“iOS Developer Program” Mac OS 10.9以上系统(如果已经申请p12证书则不需要) 登录iOS Dev Center 打开网站iOS Dev Center 使用苹果开发者账号登录iOS Dev Center: 登录成功后在页面右侧选择“Cer

X509 证书生成

X509证书介绍 X.509 是由国际电信联盟(ITU-T)制定的数字证书标准,相信这是人尽皆知的了,目前X.509证书据我所知有三个版本,.net中使用的是x.509-2,X.509-2 版引入了主体和签发人唯一标识符的概念,以解决主体和/或签发人名称在一段时间后可能重复使用的问题,x509-2(以下简称x509)证书由两把钥匙组成,通常称之为密钥对,公钥加密,私钥解密.今天我想在这里对x509进行一个深入的介绍和了解,因为在WCF的安全体系中,x509证书应用是非常频繁的,或者说是不可缺少的