mysql国密算法_【国密SM2算法】通过公钥证书获取JAVA对象
网上关于国密算法的资料较单一,大部分代码都是写的怎么通过java代码生成公私钥串。
实际项目中对方已经给了他们的公钥证书,这里记录如何通过代码解析获得Ecpoint对象并输出
关键代码
String cerPath="E:\\test.cer";
X509Certificate x509Certificate = null;
#国密证书使用了自有的椭圆曲线,无法使用JDK自带的java.security解析证书,需要引入BouncyCastle的BC库支持国密算法
Security.addProvider(new BouncyCastleProvider());
#如果不引入BC库这里会报java.security.NoSuchProviderException: no such provider: BC错误
CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509","BC");
FileInputStream fileInputStream = new FileInputStream(cerPath);
x509Certificate = (X509Certificate) certificateFactory.generateCertificate(fileInputStream);
fileInputStream.close();
System.out.println("证书序列号:"+ x509Certificate.getSerialNumber());
#这里有个坑,bcprov-jdk15on需1.59以上的版本,之前引的是1.54版一直报错
System.out.println("证书公钥:"+ x509Certificate.getPublicKey());
输出
证书序列号:534384516521
证书公钥:EC Public Key [de:38:a5:b6:6f:8b:f7:34:5f:72:1c:af:0c:14:e5:a2:84:fa:e2:c3]
X: 2f05a01e62336c889009b4174d1ec550de327db602ae49a29ebaa4c258633556
Y: cea688f06328d4616685d5cfd575de8e5e8b6de7f5bfc1d273c3562159a5f3f
依赖库
org.bouncycastle
bcprov-jdk15on
1.59
mysql国密算法_【国密SM2算法】通过公钥证书获取JAVA对象相关推荐
- SM国密算法(三)-- SM2算法
目录 一.简介 二.数学公式 获取公私钥: 密钥对的生成: SM签名 SM验签 SM加密 SM解密 加解密中C1,C2,C3 一.简介 SM2非对称加密算法.由国家密码管理局于2010年12月17日发 ...
- mysql区间算法_「五大常用算法」一文图解分治算法和思想
前言 分治算法(divide and conquer)是五大常用算法(分治算法.动态规划算法.贪心算法.回溯法.分治界限法)之一,很多人在平时学习中可能只是知道分治算法,但是可能并没有系统的学习分治算 ...
- mysql 编程算法_十大编程算法助程序员走上高手之路
算法一:快速排序算法 快 速排序是由东尼·霍尔所发展的一种排序算法.在平均状况下,排序 n 个项目要Ο(n log n)次比较.在最坏状况下则需要Ο(n2)次比较,但这种 状况并不常见.事实上,快速排 ...
- hash算法_数据库中间件分片算法之hash
前言 夜深人静的时候,打开云音乐,点上一曲攀登,带上真无线蓝牙耳机,瞬间燃到爆,键盘打字如飞倦意全无. 分片规则 这几天有人问我,dble和MyCat到底有什么不同.其实dble作为MyCAT的同门, ...
- 人工智能算法_人工智能的灵魂——算法
人工智能有三驾马车:数据.算法.算力.本文重点介绍算法相关的知识. 本文将介绍算法在人工智能里的概念,算法的4个特征.6个通用方法.以及在选择算法时需要注意的3个点. 什么是算法? 简单的说,算法就是 ...
- kmeans算法_实战 | KMeans 聚类算法
1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支持向量机,集成算法Ad ...
- java 哈希一致算法_一致哈希算法Java实现
一致哈希算法(Consistent Hashing Algorithms)是一个分布式系统中常用的算法.传统的Hash算法当槽位(Slot)增减时,面临所有数据重新部署的问题,而一致哈希算法确可以保证 ...
- 麻雀优化算法_多种智能优化算法应用案例分享-附代码
1.智能优化算法应用:基于灰狼算法的Otsu图像多阈值分割 智能优化算法应用:基于灰狼算法的Otsu图像多阈值分割-附代码_Jack旭的博客-CSDN博客blog.csdn.net 2.智能优化算法 ...
- 文本聚类分析算法_常用的聚类分析算法综述
聚类分析定义 所谓聚类就是按照事物的某些属性,把事物聚集成类,使类间的相似性尽可能小,类内相似性尽可能大.聚类是一个无监督的学习过程,它同分类的根本区别在于分类是需要事先知道所依据的数据特征,而聚类是 ...
最新文章
- 德国KubeCon直击:如何轻松且安心地将k8s用于生产?
- 字节跳动《算法中文手册》完整版 PDF 开放下载!
- python数据模型搭建_python之路(19)django数据库模型(model)
- ssh登录远程服务器_设置iTerm2免密登陆ssh远程服务器
- boost::unknown_exception用法的测试程序
- 泛型中的模糊继承,解析T的意义
- CTS(18)---Google GMS
- 置换群burnside引理(bzoj 1004: [HNOI2008]Cards)
- spring boot示例_Spring Boot REST示例
- VassistX番茄助手使用技巧
- android studio 打包生成apk文件
- 应届毕业生的户口、档案、三方协议、报到证、见习期、工龄计算、转正定级等重要知识普及!
- vnc远程控制软件 有哪些vnc远程控制软件推荐
- 麻理工MIT的脑计划eyewire (顺便学习一下医学影像知识)
- Flash按钮操作(画面暂停与播放)
- 如何学好高中数学 提高高中数学成绩秒杀技巧(这几点很重要)
- 关于zuul和nginx文件上传大小限制问题
- Layaair 不规则碰撞检测 UI
- 天兔(Lepus)监控系统快速安装部署
- 用8051单片机编程由P1.0和P1.1引脚分别输出周期为1ms和500us的方波
热门文章
- matlab 冒泡排序算法,排序算法一:冒泡排序,插入排序以及选择排序原理与MATLAB实现...
- 华尔街之所以成为世界金融中心
- 安装完PyQt5去哪找Qtdesiner
- DRF中ModelSerializer的使用
- 南京大学与东南大学计算机学院,南京大学和东南大学合并,能超过浙江大学稳居国内第三高校吗?...
- 线上展会之桥批与金融历史文化3D线上展厅
- VMware 虚拟机与主机(本机)文件共享方法
- java大型多店铺商城源码 java多店铺商城系统b2b2c
- [33期] 改变自己-从此时开始
- Qt之QTimer(定时器)