import java.io.File; import java.io.FileInputStream; import java.security.KeyStore; import java.security.PrivateKey; import java.security.Signature; import java.util.Enumeration; import javax.security.cert.Certificate; import javax.security.cert.X509Certificate; import com.sun.org.apache.xml.internal.security.utils.Base64; public class Test { public static void main(String[] args) { String str =sign(); verify(str); } public static String sign() { PrivateKey keyOfSigner=null; java.security.cert.Certificate certOfSigner=null; try{ File file = new File("F:/pro.pfx"); FileInputStream fis = new FileInputStream(file); KeyStore keyStore = KeyStore.getInstance("PKCS12"); keyStore.load(fis, "password".toCharArray()); fis.close(); Enumeration enums = keyStore.aliases(); while (enums.hasMoreElements()) { String keyAlias = (String) enums.nextElement(); if (keyStore.isKeyEntry(keyAlias)) { keyOfSigner = (PrivateKey) keyStore.getKey(keyAlias, "password".toCharArray()); certOfSigner =keyStore.getCertificate(keyAlias); } } byte[] encryptedDigest; Signature signature = Signature.getInstance("SHA1withRSA"); signature.initSign(keyOfSigner); signature.update("123".getBytes()); encryptedDigest = signature.sign(); System.out.println(Base64.encode(encryptedDigest)); return Base64.encode(encryptedDigest); } catch(Exception e){ e.printStackTrace(); } return null; } public static void verify(String str) { File f = new File("D:/cert.cer"); try { FileInputStream fs = new FileInputStream(f); byte[] be = new byte[fs.available()]; fs.read(be); fs.close(); Certificate x = X509Certificate.getInstance(be); Signature signature = Signature.getInstance("SHA1withRSA"); signature.initVerify(x.getPublicKey()); signature.update("123".getBytes()); boolean b = signature .verify(Base64 .decode(str)); // boolean b = signature // .verify(Base64 // .decode("r50rGj6Hrtq2MEHwrEcQQklEEdeQGokE6RJ84qLsRq/7CR+jdO2pSp4feQW3ufqmu2Cv/jR/T7hRI6qWXVTBZHu/+K2mUnYwk/iOJSQSvzo/fcwqC+HsNaIoWKoDJXIaBLorynd8vd5TeOzmY7FVcrSQG9xSkbA0RSKrRUk8UP1Cu3MuXE0R+YzDPElnwgMIVuM/t8R3WxVjgf4uzDbz/tgUcRHEgWAzD8YQqVR+cNUzjqpN06BmOO13pKqVO5CEY/xppXby7Y/qS7GKhIH7BYRIgoktUeh1TKZ8dsaWpjlyEOMP4YkMOZ1jvU6mGuCtlif92AVJX9OdJIMSBfjyEQ==")); System.out.println(b); } catch (Exception e) { e.printStackTrace(); } } }
java裸签名代码
原创java裸签名代码
https://blog.51cto.com/yjm199/1784822
上一篇:mysql更新大字段
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M

相关文章
-
java web 代码
原 30套JSP网站源代码合集 IT小白白 发布时间: 2012/12/28 14:30 阅读: 272 收藏: 3 点赞: 0 评论: 0 原 30套JSP网站
java web 软件开发部分 java 系统源码 sql -
uuid 实现生产JAVA的主键Id实现代码, 会产生重复id现象,java代码实现自动生成主键多线程高并发下实现无重复工具类代码实现不冲突的主键ID,UUID作为主键生成怎么生成主键java代码
生成出来的id主要格式如下:457919d37615456cb98e380365f4e9c811ee974d885e4405940fe7084d0c878f27c15dff8029444984f928b7d634f1ae10c6984681a4452491c70af8d43f29aa6edec
java主键生成工具类 怎么生成UUID主键 UUID作为主键生成代码 实现主键生成 主键怎么实现自动生成 -
【java工具类-抓取网页去除HTML格式】HTML格式化成TXT保留段落开头的java后台处理代码
HTML格式化成TXT保留段落开头的java后台处理代码import org.apache.commons.lang3.StringUtils;import o
java处理HTML java抓取TXT内容 java剔除HMTL 格式化出TXT纯内容 无格式文本处理 -
【java工具类】java秒杀模拟和模拟网络限流的场景java代码实现,使用java线程池操作模拟场景,简单的demo主要使用多线程,作为一个简单面试题目
java模拟秒杀,网络限流的场景java代码实现,使用java线程池操作模拟场景运行效果如下没有限流
信号量java java线程池考察 限流模拟代码 线程池考察 线程池模拟数据考察 -
【java工具类】代码字符串的首字母小写java代码实现字符串首字母小写String首字母大小写Char实现首字母大小写65-90 是A-Z的大写 97-122 是字母a-z的小写ASCII码值
java代码进行操作字符串的首字母小写的java代码实现案例:/** * 功能说明:TODO * *) {...
String大小写首字母 char大小写首字母 java大小写首字母 字符串大小写首字母 代码首字母大小写 -
JAVA四行代码制作简单的翻译软件(傻瓜式教程)
用java编写一个简单的翻译软件只需要4行代码。制作工具:IDEA第一步:首先下载一个jar包组件http://www.jsoup.org地址放这里了,点进去可以直接下载。下
java intellij-idea jar jar包 ide -
Java——通过Java代码启动批处理文件(二)
前言兄弟篇:Java——通过Java代码启动批处理文件(一)第一篇是直接执行批处理文件,但是有两种情况不能处理:1.路径里面带有空格
java 开发语言 批处理文件 java代码 -
【java工具类】去除HTML的标签的java代码如下:
java工具类:去除HTML的标签的java代码如下:public class HtmlFilterTagUtils { private static final int subLength = 200;
去除HTML标签 HTML工具类 格式处理工具类 java html -
【java工具类-抓取图片】正则抓取内容里面的j图片,正则,图片替换格式处理图片java处理文章内容里面的图片格式化工具类,能够最大限度的自动是被图片IMG标签和java使用正则抓取图片说明
运行案例: public static void main(String[] args) {//
java去除HTML java识别图片 正则抓取图片 内容返回无格式文本 java去除空格