
大安全
文章平均质量分 51
大安全
gqltt
这个作者很懒,什么都没留下…
展开
-
GMT_0031-2014_安全电子签章密码技术规范
GMT_0031-2014_安全电子签章密码技术规范原创 2025-03-16 20:58:16 · 111 阅读 · 0 评论 -
ofdrw-OFD Reader
签名/章过程中不需要完全解析文档,因此不需要构建文档虚拟容器, 只需要对文件的操作和相关的签名描述文件的操作。在OFD中含有ST_Loc类型的对象,这种对象是一个路径地址,用于次用OFD虚拟容器中找到 需要的资源。签名: 获取容器中相关文件然后计算Hash,计算签名/章,加入签章内容,重新打包。编辑: 解析文档结构构建虚拟容器,编辑内容,重新打包。资源定位器则是解析地址,从虚拟容器中获取资源同时缓存。对该类路径的解析就需要使用到资源定位器。什么地方会使用到Reader。解析器由两大组件构成。转载 2025-03-16 20:32:45 · 40 阅读 · 0 评论 -
ofdrw-文档转换
OFDR&W文档转换支持=>=>PDF转换概述: 通过对OFD的文档进行解析,使用 Apache Pdfbox生成并转换OFD中的元素为PDF内的元素实现PDF的转换。图片转换概述: 通过对OFD的文档进行解析,采用java.awt绘制图片,支持转换为PNGJPEG图片格式。转载 2025-03-16 20:22:53 · 23 阅读 · 0 评论 -
ofdrw-推荐解决方案
DLTech21/ofd.js推荐开源的OFD在线预览解决方案: DLTech21/ofd.js . https://github.com/DLTech21/ofd.js推荐开源客户端预览解决方案: roy19831015/OfdiumEx . https://github.com/roy19831015/OfdiumEx推荐开源OFD图片转换解决方案: QAQtutu/ofdbox . https://github.com/QAQtutu/ofdbox转载 2025-03-16 18:38:49 · 17 阅读 · 0 评论 -
《Java 加密工具与技术》ASN.1
【代码】《Java 加密工具与技术》ASN.1。原创 2025-03-11 22:55:52 · 180 阅读 · 0 评论 -
使用Bouncy Castle解析ASN.1结构
完整解析代码 数据结构映射: → → (包含tag信息) → → → 其他类型保留原始值和类型信息扩展建议: 自定义类型映射: 深度限制:原创 2025-03-08 15:53:06 · 189 阅读 · 0 评论 -
《Java 加密工具与技术》8: X.509证书和属性证书
X.500 可辨别名称(Distinguished Name,简称DN),是用于在X.500目录服务中唯一标识一个条目(Entry)的名称。它由一系列相对可辨别名称(Relative Distinguished Names,简称RDNs)组成,每个RDN由一个或多个属性值对构成,这些属性值对在不同的目录级别上提供了条目的唯一标识。在X.500目录服务中,DN用于确保每个条目都可以被唯一地识别和访问。是一个RDN,表示通用名称(Common Name)为“John Doe”。OU=Users。原创 2025-03-03 20:59:54 · 429 阅读 · 0 评论 -
《Java加密与解密的艺术》第3章java加密利器
它通常与加密算法(如 AES、DES 等)一起使用,用于存储和传递算法的初始化参数(如 IV(初始化向量)、盐值等)。是 Java 中用于管理和传递加密算法参数的类。它提供加密算法参数的。透明表示:可以通过某个“get”来分别访问每个值。不透明表示:不可以直接访问参数域。原创 2025-03-02 12:07:40 · 179 阅读 · 0 评论 -
p1和p7签名的区别
前言:P1签名:即裸签名,签名值中只有签名信息.p7签名:即,签名中可以带有其他的附加信息,例如签名证书信息,签名原文信息,时间戳信息等.所以要注意,不要p7的签名,用p1的方式来验签,这样是不对的.是错误的.数字签名中,包含了两个过程:1.对要签名的信息,用指定的hash算法,获取信息的hash值.2.用私钥,对hash值进行加密,输出加密串(也就是签名值).以上方式也就是裸签名,PKCS#1验证签名:1.对要签名的信息(也就是签名原文),用指定的hash算法,获取信息的hash值.转载 2022-04-02 22:33:30 · 4808 阅读 · 0 评论 -
证书有效性验证、根证书
来源:证书有效性验证、根证书 - 程序员大本营 一、 数字证书的有效性验证主要从三个方面: (1)数字证书有效期验证 (2)根证书验证 (3)CRL验证1、数字证书有效期验证 就是说证书的使用时间要在起始时间和结束时间之内。通过解析证书很容易得到证书的有效期2、根证书验证 先来理解一下什么是根证书? 普通的证书一般包括三部分:用户信息,用户公钥,以及CA签名 那么我们要验证这张证书...转载 2022-03-18 15:59:49 · 4421 阅读 · 0 评论 -
数字签名时间戳服务器的原理
时间戳服务工作流程:◆ 用户对文件数据进行Hash摘要处理;◆ 用户提出时间戳的请求,Hash值被传递给时间戳服务器;◆ 时间戳服务器对哈希值和一个日期/时间记录进行签名,生成时间戳; ◆ 时间戳数据和文件信息绑定后返还,用户进行下一步电子交易操作。验证工作流程一、用时间戳标记顺序时间戳服务:time-stamp service时间戳标记:time-stamp token可信第三方:trusted third part,TTP时间戳服务...转载 2022-01-19 09:50:57 · 4949 阅读 · 0 评论 -
PDF签名系列(2):PDF的签名值到底存在哪里?
来源:PDF签名系列(2):PDF的签名值到底存在哪里? - 知乎研究过PDF签名的同学应该见过下面这张图, 来自ADOBE的文档Acrobat_DigitalSignatures_in_PDF.pdfPDF被签名的内容是整个文档除去signature dictionary里/Contents下面的内容. 签过名的哈希值再连同其他一些信息一起写进/Contents里. 也就是说/Contents内容以外的部分一旦被修改, 签名就无法验证通过了.但是这张图容易误导我们的地方是, 我们会以为签名转载 2022-01-17 20:33:20 · 1616 阅读 · 1 评论 -
PDF签名系列(1):PDF签名机制的漏洞分析
来源:PDF签名系列(1):PDF签名机制的漏洞分析 - 知乎研究PDF文件的签名机制有一段时间了,刚开始学习的时候就看到有提到说,被签名的PDF内容的Range gap,会成为这个机制的漏洞,但是一直不能完全参透。直到昨天看到一篇文章的分析,才对这个问题有了一个更清晰的认识,所以做一个小小总结整理。这里假设读者对PDF文件格式和数字签名的原理有一定了解。首先,我们来看一下PDF文档里的Signature Dictionary:我们知道,PDF文件是由一系列Objects组成的,通过转载 2022-01-17 20:19:43 · 809 阅读 · 0 评论 -
数字签名,数字证书,证书链原理
来源:数字签名,数字证书,证书链原理(图文详解)_Ruby丶彬的博客-优快云博客_证书链验证原理数字签名,数字证书,加密简述数字签名:谈及数字签名,就如小时候老师叫把卷子或者作业带回去给家长签字。只不过数字签名非物理用笔签名,是通过计算机电子签名,这过程就涉及身份认证和信息加密。例如:卷子的成绩考个0分等信息是不希望被其他人知道的就需要加密(信息加密);家长对卷子签字,需要对卷子作实名认证,证实确实是自己孩子而非他人的卷子(身份认证)。数字证书:数字证书是用来认证公钥持有者身份合法性的电子文档转载 2022-01-17 20:08:35 · 965 阅读 · 0 评论 -
数字证书~证书链
来源:客户端认证https服务端证书过程详解——证书链_huzhenv5的博客-优快云博客_证书链认证过程转载 2022-01-17 19:55:12 · 1281 阅读 · 0 评论 -
Java使用Itext5.5.10进行pdf签章
来源:Java使用Itext5.5.10进行pdf签章_liumengya007007的博客-优快云博客_itext 签章啰嗦说到PDF数字签名签章,这个其实也是数字证书信息安全的应用范畴,关于数字证书和数字签名,网上有很多解释说明,但讲解都多不够详细准确,这边推荐一篇大神的博文,讲解浅显易懂形象数字证书 数字签名 数据加密。刚入门CA行业的人,可以入门看看。言归正传,正文开始Itext包 和 BC包要自己实现PDF数字签章,是一件极其浩大的工程,难度很大(看看市面上多少公司是吃这一行.转载 2022-01-11 16:36:21 · 3128 阅读 · 3 评论 -
数字证书原理
文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书。如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出!1、基础知识 这部分内容主要解释一些概念和术语,最好是先理解这部分内容。1.1、公钥密码体制(public-key cryptography)公钥密码体制分为三个部分,公钥、私...转载 2022-01-11 14:11:28 · 358 阅读 · 0 评论 -
解决PKIX:unable to find valid certification path to requested target 的问题
最近在华为云服务器上,访问微信支付,生成支付二维码,出现如下异常:Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderExcept ion: unable to find valid certification path to requested target at sun.s原创 2022-01-05 21:34:46 · 752 阅读 · 0 评论 -
微信支付PKIX path building failed
异常信息javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.securi转载 2022-01-05 21:00:13 · 515 阅读 · 0 评论 -
java.security.InvalidKeyException: Illegal key size
来源:https://blog.youkuaiyun.com/dling8/article/details/84061948今天在使用idea打包maven项目时,出现这个错误:java.security.InvalidKeyException: Illegal key size。(测试也可能会出现这个问题)貌似是因为加密出现了问题。产生错误原因:为了数据代码在传输过程中的安全,很多时候我们都会将要传输的数据进行加密,然后等对方拿到后再解密使用。我们在使用AES加解密的时候,在遇到128位密钥加解密的时候,没有转载 2022-01-04 14:48:19 · 291 阅读 · 0 评论 -
Java加密与解密的艺术~AES-GCM-NoPadding实现
来源:Java AES加密和解密_一名可爱的技术搬运工-优快云博客高级加密标准(AES,Rijndael)是一种分组密码加密和解密算法,是全球使用最广泛的加密算法。 AES使用128、192或256位的密钥来处理128位的块。本文向您展示了一些JavaAES加密和解密示例:AES字符串加密–(加密和解密字符串)。 AES基于密码的加密–(密钥将从给定的密码派生)。 AES文件加密。 (基于密码)。在本文中,我们重点介绍通过Galois Counter Mode(GCM)进行...转载 2022-01-04 14:33:03 · 12818 阅读 · 0 评论 -
jdk1.8 base64注意事项
由于jdk1.7和jdk1.8内置的Base64遵守的RFC协议不一致,jdk1.7按照照RFC1521实现的,jdk1.8是按照rfc4648和rfc2045两个协议来实现的。具体可以从类注释中查询到。由于协议的不同可能导致jdk1.8的解码jdk1.7编码的数据时抛出java.lang.IllegalArgumentException: Illegal base64 character a异常.因此需要特别注意保持解码编码的一致性。jdk7的编码结果包含换行;jdk8的编码结果不包含换行;jdk原创 2021-12-20 16:53:13 · 1732 阅读 · 1 评论 -
Java加密与解密的艺术~数字证书~证书管理openssl
OpenSSL功能远胜于KeyTool,可用于根证书,服务器证书和客户证书的管理这里使用的是Win32OpenSSL_Light-1_0_1e.exehttp://www.slproweb.com/products/Win32OpenSSL.html1,构建根证书构建根证书前,需要构建随机数文件(.rand),完整命令如openssl rand -out private/.rand 1000rand 随机数命令。这里将随机数文件输出到private目录下。-out ...原创 2021-12-09 15:38:46 · 337 阅读 · 0 评论 -
读取pfx格式的证书
package com.hgh.javase.security;import java.io.FileInputStream;import java.security.KeyStore;import java.security.PrivateKey;import java.security.PublicKey;import java.security.cert.Certificate;import java.util.Enumeration;public class ReadPFX { .转载 2021-12-09 15:06:50 · 1275 阅读 · 0 评论 -
.pfx 证书和 .cer 证书
证书系列:1:.pfx 证书和 .cer 证书2:导入pfx证书通常情况下,作为文件形式存在的证书一般有三种格式:第一种:带有私钥的证书,由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以.pfx作为证书文件后缀名。 第二种:DER Encoded Binary (.cer) 二进制编码的证书,证书中没有私钥,DER 编码二进制格式的证书文件,以.cer作为证书文件后缀名。 第三种:Bas.转载 2021-12-09 10:12:48 · 18673 阅读 · 0 评论 -
Java加密与解密的艺术~数字证书~证书使用openssl
证书工具/** * 2009-5-20 */package org.zlex.chapter10_2;import java.io.FileInputStream;import java.security.KeyStore;import java.security.PrivateKey;import java.security.PublicKey;import java.security.Signature;import java.security.cert.Certificate原创 2021-12-09 09:36:45 · 252 阅读 · 0 评论 -
Java加密与解密的艺术~安全协议~双向认证服务
双向认证服务原创 2021-12-04 12:07:17 · 2115 阅读 · 0 评论 -
Java加密与解密的艺术~安全协议~单向认证服务
单向认证服务原创 2021-12-04 12:04:48 · 1134 阅读 · 0 评论 -
Java加密与解密的艺术~安全协议~模型分析
模型分析原创 2021-12-04 12:04:09 · 1602 阅读 · 0 评论 -
Java加密与解密的艺术~数字证书~证书使用keytool
证书使用原创 2021-12-04 12:02:25 · 1648 阅读 · 0 评论 -
Java加密与解密的艺术~数字证书~证书管理
证书管理原创 2021-12-04 11:48:53 · 1246 阅读 · 0 评论 -
Java加密与解密的艺术~数字证书~模型分析
钱物轻微 武切维奇权威原创 2021-12-04 11:47:35 · 1619 阅读 · 0 评论 -
Java加密与解密的艺术~数字证书详解
数字证书具备常规加密/解密必要的信息,包含签名算法,可用于网络数据加密/解密交互,标识网络用户(计算机)身份。数字证书为发布公钥提供了一种简便的途径,其数字证书则成为加密算法以及公钥的载体。依靠数字证书,我们可以构建一个简单的加密网络应用平台。 数字证书(Digital Certificate)也称为电子证书,类似于我们生活中的身份证,用于标识网络中的用户(计算机)身份。在现实生活中,我们的身份证需要由公安机关的签发,而网络用户(计算机)的身份凭证则需由数字证书颁发认证机构(Ce...原创 2021-12-03 22:02:43 · 668 阅读 · 0 评论 -
Java加密与解密的艺术~数字签名~ECDSA实现
ECDSA 实现/** * 2009-10-10 */package org.zlex.chapter09_3;import java.math.BigInteger;import java.security.Key;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.PrivateKe...原创 2021-12-03 21:47:30 · 1373 阅读 · 1 评论 -
Java加密与解密的艺术~数字签名~DSA实现
DSA 实现/** * 2008-6-13 */package org.zlex.chapter09_2;import java.security.Key;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.PrivateKey;import java.security.PublicKey;...原创 2021-12-03 17:25:44 · 556 阅读 · 0 评论 -
Java加密与解密的艺术~数字签名~RSA实现
RSA 实现/** * 2008-6-11 */package org.zlex.chapter09_1;import java.security.Key;import java.security.KeyFactory;import java.security.KeyPair;import java.security.KeyPairGenerator;import java.security.PrivateKey;import java.security.PublicKey;..原创 2021-12-03 17:11:59 · 209 阅读 · 0 评论 -
Java加密与解密的艺术~数字签名~模型分析
甲方作为消息的发送方,乙方作为消息的接收方。假设甲乙双方在消息传递之前已经指定了要使的数字签名算法(如RSA算法)。为完成签名验证,甲乙双方需要以下操作:1)、由消息发送方(甲方)构建密钥对。2)、由消息发送方(甲方)公布公钥至消息接收方。完成这两步操作后,甲方向乙方发送的数据就可以验证了:甲方向乙方发送数据时需要附加签名,数据与签名形成一则消息发送给接收者。私钥仅用于签名,公钥仅用于验证。...原创 2021-12-03 17:04:43 · 254 阅读 · 0 评论 -
Java加密与解密的艺术~DESede实现
DESede 实现/** * 2009-10-5 */package org.zlex.chapter07_2;import java.security.Key;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DE...原创 2021-12-03 16:33:58 · 642 阅读 · 0 评论 -
Java加密与解密的艺术~DES实现
密钥长度与安全性成正比,但Java仅支持56位密钥长度,作为补充,Bouncy Castle 提供64位密钥长度支持。在此基础上配合不同填充方式(如PKCS5Padding,PKCS7Padding),可显著提高加密系统的安全性。DES 实现/** * 2009-10-5 */package org.zlex.chapter07_1;import java.security.Key;import java.security.SecureRandom;impor...原创 2021-12-03 13:58:44 · 421 阅读 · 0 评论 -
Java加密与解密的艺术~SM4实现
国产SM4加密解密算法概念介绍SMS4算法是在国内广泛使用的WAPI无线网络标准中使用的加密算法,是一种32轮的迭代非平衡Feistel结构的分组加密算法,其密钥长度和分组长度均为128。SMS4算法的加解密过程中使用的算法是完全相同的,唯一不同点在于该算法的解密密钥是由它的加密密钥进行逆序变换后得到的。SMS4分组加密算法是中国无线标准中使用的分组加密算法,在2012年已经被国家商用密码管理局确定为国家密码行业标准,标准编号GM/T 0002-2012并且改名为SM4算法,与SM2椭圆曲线公钥密码算原创 2021-12-03 09:45:15 · 3097 阅读 · 0 评论