最近不知道在忙什么,也不知道写点什么,直接丢个工具类吧~~~

  /*** 获取X509证书的秘钥算法和秘钥长度** @param certificate* @return*/public static CertInfo getKeyAlgAndLength(X509Certificate certificate) throws Exception {CertInfo certInfo = new CertInfo();//可以得到EC RSAString keyAlgName = certificate.getPublicKey().getAlgorithm();//不区分大小写比较if ("EC".equalsIgnoreCase(keyAlgName)) {keyAlgName = "SM2";certInfo.setKeyLength(256);certInfo.setKeyAlg(keyAlgName);return certInfo;} else if ("RSA".equalsIgnoreCase(keyAlgName)) {RSAPublicKey rsaPublicKey = (RSAPublicKey) certificate.getPublicKey();Integer length = rsaPublicKey.getModulus().bitLength();certInfo.setKeyAlg(keyAlgName);certInfo.setKeyLength(length);} else {throw new Exception();}return certInfo;}
/*** 接收证书秘钥算法和秘钥长度** @author wly*/
public class CertInfo {private String keyAlg;private int keyLength;public CertInfo() {}//get、set方法
}

顺便区分一下签名算法和秘钥算法值, 仅针对自己平时SM2和RSA的证书:

//获取秘钥算法 可以得到 EC RSA
String keyAlgName = cert.getPublicKey().getAlgorithm();
//获取证书签名算法 值为 SM2WithSM3、SHA1WithRSA、SHA256WithRSA等
String signAlgName = cert.getSigAlgName()

预祝大家国庆节Happy!本人已经打算回家找妈妈啦~

区分获取SM2、RSA类型证书的密钥长度、秘钥算法和签名算法值相关推荐

  1. iOS安全之RSA加密/生成公钥、秘钥 pem文件

    在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于 ...

  2. iOS RSA加密 以及生成公钥 秘钥 pem文件

    在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于 ...

  3. java 对证书文件以及秘钥.key的解析

    java解析证书具有两种方式, 1.为证书的标准格式,java通过jdk进行对标准证书进行base64解密转换.解析,由于网上对于该方式的描述较多,本文不做过多描述. 2.第二种方式为java去除了开 ...

  4. java中RSA数字证书生成,jks文件生成以及读取。

    一.Java代码生成cer证书文件: public class GetCertFile { //证书颁发者     static String CertificateIssuer = "C= ...

  5. 获取 Andriod keystore签名证书文件,用于打包APP应用

    每个安卓APP,都要签名证书才能安装在手机上,测试的应用有测试的签名证书,生产环境有生产环境的签名证书,在开发APP之前,我们首先生成一个用于该APP的签名证书,用于测试调试应用,像微信支付.分享.地 ...

  6. 签名算法sha256withrsa,RSA数字证书公钥私钥生成,base64转码和文件日志

    RSA数字证书公钥密钥生成: 在Linux系统下运行以下命令生成: 如果提示输出密码,可以为空,直接回车 生成的公钥rsa_public_key.pem和密钥rsa_private_key.pem文件 ...

  7. Android调试秘钥证书指纹获取方式

    Android开发者需要知道调试秘钥(debug keystore)和发布秘钥(release keystore)的区别. 一般在调试过程会使用调试秘钥签名apk文件,而在发布过程中会使用发布秘钥签名 ...

  8. IdentityServer4之JWT签名(RSA加密证书)及验签

    一.前言 在IdentityServer4中有两种令牌,一个是JWT和Reference Token,在IDS4中默认用的是JWT,那么这两者有什么区别呢? 二.JWT与Reference Token ...

  9. android 无线接口 泛收,Android下的Java之interface接口泛型 动态获取泛型的类型

    Android的泛型有多坑? 先来看看该问题的场景 将String转换成具体对象时,需要进行的关键点就是获取到对象的类型 // 这里定义了一个泛型R,那运行时如何获取到这个类型呢? // 第一眼看上去 ...

最新文章

  1. Linux下常用的C/C++开源Socket库
  2. 详解math.isclose()用法
  3. 关于解决安装pwndbg问题sys.stderr.write(f“ERROR: {exc}“) /usr/bin/python3.5: No module named ensurepip
  4. 协议簇:TCP 解析: 建立连接
  5. linux date fmt,date_format(date,frm) 详解
  6. LintCode初级题——fizz buzz
  7. WinForms C# :TabWebBrowser 多页面浏览器源码
  8. jffs2reset 实现分析
  9. Linux (Ubuntu): bash: tailf: command not found
  10. 网络防火墙开发二三事
  11. 数学在线绘图计算机,Desmos Graphing Calculator插件,在线可视化图形计算器
  12. css给div四角添加效果
  13. 互联网公司的中台到底是什么
  14. 帝国时代(1)--献给曾经的游戏
  15. 深挖ThreadLocal
  16. 防火墙阻止了从docker容器到外部的网络连接
  17. 组合学:使用10个数字与52个字母生成1477万个不重复的4位串码V3完结版本
  18. 累加器使用的注意点及自定义累加器
  19. vs开发工具必备插件
  20. Android 流量球效果的WaveView

热门文章

  1. 计算机中dte的中文含义,DCE和DTE含义
  2. SAP 初学者适合看哪些书
  3. simulink simscape模型报错解决:Cannot reload workspace from non-existing data source file
  4. (附源码)计算机毕业设计SSM基于JAVA的校园电车租赁系统
  5. 2013年期中总结 2013年9月10日20:17:49
  6. Linux 远程访问及控制 OpenSSH 服务
  7. jdbc和mysql客户端_相同的insert语句在JDBC中报错,在mysql客户端中不报错:
  8. 80/20屌丝逆袭法则
  9. 爱因斯坦说“要是乱糟糟的桌面意味着杂乱无章的脑袋,那空白桌面意味着什么呢?”...
  10. 来,跟我一起 ,自研多端错误监控平台(完整版)