java sm4国密算法加密.解密 CreationTime--2018年7月5日09点20分 Author:Marydon 1.准备工作 所需jar包: bcprov-jdk15on-1.59.jar commons-lang3-3.1.jar import java.security.Key; import java.security.NoSuchAlgorithmException; import java.security.NoSuchProviderException; impor…
密信浏览器( MeSince Browser )是基于Chromium开源项目开发的国密安全浏览器,支持国密算法和国密SSL证书,同时也支持国际算法及全球信任SSL证书:密信浏览器使用界面清新,干净.简洁.无广告,提供简洁.快速的浏览体验,满足国密安全合规需求.目前,密信浏览器支持Windows 32位和64位系统,未来将逐步推出Linux.Mac及移动端版本. 密信浏览器的主要特性 1.兼容国密标准和国际标准密信浏览器遵循国家标准<GM/T 0024-2014: SSL VPN技术规范>,支…
摘要:本文不对SM2做过多的介绍,主要介绍java bouncycastle库关于SM2的相关API的使用及注意事项 1. SM2 签名: 注意: 1)签名格式ASN1(描述了一种对数据进行表示.编码.传输和解码的数据格式),包括两个大整数. 2)注意USER_ID的一致性(规范默认是"1234567812345678"),否则影响验签. 主要代码 SM2Signer localSM2Signer = new SM2Signer(); Security.addProvider(new…
转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/39780825 作者:小马 一 知识准备 SM2是国密局推出的一种他们自己说具有自主知识产权的非对称商用password算法.本身是基于ECC椭圆曲线算法的.所以要讲sm2, 先要弄懂ECC. 全然理解ECC算法须要一定的数学功底.由于涉及到射影平面坐标系,齐次方程求解, 曲线的运算规则等概念. 这里不做过多的数学分析(主要是我自己也没有全然整明确). 想要深入了解ECC的我推荐网…
转:https://blog.csdn.net/xuq09/article/details/91815366 The GmSSL Project网址:http://gmssl.org/docs/quickstart.html 在网上闲逛时发现一个工具.SSL支持国密算法.看着比较高大上.还没有用呢.记下来.备用. 快速上手指南介绍GmSSL的编译.安装和gmssl命令行工具的基本指令. 下载源代码(zip),解压缩至当前工作目录 $ unzip GmSSL-master.zip 编译与安装 Li…
package com.BFGJ.AES; import java.util.Random; import java.util.StringTokenizer; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.PBEKeySpec; import javax.crypto.spec.PBEParamet…
因为C#的RSA加密解密只有公钥加密,私钥解密,没有私钥加密,公钥解密.在网上查了很久也没有很好的实现.BouncyCastle的文档少之又少.很多人可能会说,C#也是可以的,通过Biginteger开源类来实现,不过那个是有一个文章,不过他加密出来的是16进制结果的.根本不能和JAVA互通.连加密出来的都不和C#原生的加密出来的结果格式一样.所以还是没有好的解决方法. 接下来还是不断的找资料,找方法.找朋友找同事.个个都找.问题是有的,方法也是有的,所以总结各路大神之后写了这个类.实现了私钥加…
1.需要实现对其他系统的单点登陆,我们实现的方法很简单,就是将当前系统的账号通过加密去获取 需要直接登陆上的系统的token,然后访问需直接登陆的系统就带着token,就相当于登陆了. 2.然后呢,我们系统是 C#的,对方系统是Java的,对方给我们提供了 SM4的 加密.然后我这边也尝试去实现了下,发现sm4需要的 nuget包是 .net framework4.5以上版本,直接拿来用不行,然后就用dnSpy进行反编译.截取部分代码,试着不行,加密解密好像对不上,所以协商后准备两方采用新的加密…
首先说明用Java自带的解析x509证书类,是不能解析sm2算法的证书,执行会抛出异常. 用开源库bouncycastle能够解析.详细代码 private byte[] getCSPK(byte[] csCert)     {         InputStream inStream = new ByteArrayInputStream(csCert);         ASN1Sequence seq = null;         ASN1InputStream aIn;        …
编译环境 执行编译操作环境如下 #操作系统 CentOS Linux release 7.4.1708 (Core) #docker版本 Version: 19.03.5 编译过程 Dockerfile FROM centos:7 WORKDIR /usr/local/gm-openresty # 安装所需依赖包 RUN yum -y install perl make gcc gcc-c++ libstdc++-devel pcre-devel zlib-devel net-tools pcr…