基于OpenSSL的时间戳签名和验证

自建PKI根证书并颁发时间戳证书的完整步骤 自建PKI根证书并颁发时间戳证书的完整步骤,包括详细的命令和解释 阅读详情


  • 首先自建CA,并生成时间戳签名证书.

REM 生成CA证书

openssl req -new -x509 -keyout ca.key -out ca.crt

REM 生成时间戳签名证书

openssl genrsa -des3 -out tsakey.pem 1024


REM 去除私钥密码

openssl rsa -in tsakey.pem -out tsakey.pem


REM 生成证书请求

openssl req -new -key tsakey.pem -out tsakey.csr

REM extKey.cnf格式: extendedKeyUsage = critical,timeStamping

REM 使用扩展用法文件签署时间戳签名证书

openssl x509 -req -days 730 -in tsakey.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out tsakey.crt -extfile extKey.cnf

  • 根据数据文件test.txt生成时间戳签名请求
    openssl ts -query -data test.txt -no_nonce -out design1.tsq
  • 使用时间戳证书签署请求,生成签名值
    openssl ts -reply -queryfile design1.tsq -inkey tsakey.pem -signer tsakey.crt -out design1.tsr

  • 使用CA证书和时间戳签名证书验证时间戳签名值
    openssl ts -verify -queryfile design1.tsq -in design1.tsr -CAfile ca.crt -untrusted tsakey.crt

  • 使用原文验证时间戳
    openssl ts -verify -data test.txt -in design1.tsr -CAfile ca.crt


用OpenSSL自建CA签发代码签名证书,并用signtool给程序签名 数字签名是保障软件完整性与来源可信的基础技术,通过私钥加密文件哈希、公钥验证身份,实现防篡改与防抵赖。代码签名证书则是将数字签名与发布者身份绑定的关键载体,而证书链与信任根决定了系统是否认可该签名。在工程实践中,内部工具或私有软件分发常因缺少受信任的证书而触发SmartScreen警告或杀毒软件误报。利用OpenSSL自建根CA并签发代码签名实体证书,再配合Windows SDK的signtool为exe/dll完成签名与时间戳,即可在可控信任边界内建立完整的代码签名体系。该方案无需商业证书,适合团队内部、 阅读详情

相关推荐

从零调试微信JSAPI支付:手把手教你用OpenSSL验证RSA签名(含证书配置)

本文针对微信JSAPI支付中常见的“签名验证失败”问题,提供了一套基于OpenSSL命令行的底层解决方案。文章详细拆解了APIv3的RSA签名验证流程,包括签名串的精确构造、使用私钥生成签名、利用公钥反向验签,并提供了完整的排查清单和实战脚本,帮助开发者从根本上理解并解决签名验证难题。

weixin_29325515的博客 325

openssl 时间戳

【代码】openssl 时间戳。

好习惯成就伟大 1161

Windows平台自建私有CA与自动化代码签名实战指南

数字签名是保障软件完整性与来源真实性的核心技术,其原理基于非对称加密,通过私钥加密文件哈希值生成签名,公钥验证签名并确认证书链的信任关系。这项技术的核心价值在于建立软件分发的信任基础,消除系统安全警告,广泛应用于企业内部工具部署、脚本分发和驱动测试等场景。在Windows生态中,面对公共CA证书的成本与流程挑战,利用OpenSSL和PowerShell构建私有证书颁发机构(CA)并实现自动化批量签名,成为极具性价比的解决方案。本指南聚焦于**代码签名证书**的创建与**批量签名**实践,详细解析从生成私有根

weixin_33935636的博客 179

date、openssl命令的深入理解

openssl命令一、date 命令时间戳二、Openssl 查看证书常用命令: 一、date 命令时间戳 常用参数 date - 打印或设置系统日期和时间 根据指定格式显示当前时间或设置系统时间. -d, --date=STRING 显示由 STRING 指定的时间, 而不是当前时间 -f, --file=DATEFILE 显示 DATEFILE 中每一行指定的时间, 如...

AMimiDou_212 3426

从零开始:使用CMake构建GreenHills RH850项目的完整工作流(2018.1.5版)

本文详细介绍了如何从零开始使用CMake构建GreenHills RH850嵌入式项目的完整工作流。通过编写工具链文件、定义CMakeLists.txt,实现自动化、可维护的跨平台构建,有效解决了传统IDE在多模块、持续集成场景下的局限性,显著提升团队协作效率和项目可维护性。

weixin_28839699的博客 130

八大核心深度学习算法详解:从CNN到Transformer的完整指南

深度学习作为人工智能的核心技术,通过多层神经网络模拟人脑学习机制。其基本原理是利用反向传播算法优化网络参数,从数据中自动提取特征表示。这一技术价值在于能够处理高维复杂数据,在图像识别、自然语言处理等领域实现突破性进展。卷积神经网络(CNN)通过局部连接和权值共享有效处理图像数据,而Transformer架构基于自注意力机制革新了序列建模方式。在实际工程实践中,CNN广泛应用于计算机视觉任务,如图像分类和目标检测;Transformer则成为自然语言处理的主流架构,支撑着BERT、GPT等预训练模型。本文系统

aoe41606的博客 432

OpenSSL命令---ts

时间戳处理工具(客户端/服务器模式)。该命令是一个基本的时间戳权威认证机构(TSA)的客户端和服务器端应用程序(遵循RFC3161协议)。TSA是一个PKI调度工具中的一部分,它的角色是提供一个证明:证明某个数据在一段时间内存在。下面是协议的摘要: 1、 TSA客户端对一个数据文件计算一个哈希值,并将它发送到TSA。 2、 TSA将当前时间依附到所接收到的hash值的后面,并签名,发送时间戳标记到客户端。在创建这个标记是根据原始数据来产生的。 3、 TSA客户端接收到时间戳标记并验证签名。

VitalityShow(网络通讯) 5461

【NIFI】实现HANA->ORACLE数据同步

实现 HANA->ORACLE数据同步。

weixin_43159039的博客 1506

使用openssl创建三级带时间戳扩展证书的方法

使用openssl创建三级带时间戳扩展证书的方法     直接进入主题,首先先下载好openssl,下载地址https://www.openssl.org/source/。具体看下图:         至于openssl的安装网上有很多教程,查一下就好了,你只要保证安装好它就行...

student_zz的博客 3485

Ansys Zemax | 公差分析中的补偿器优化:如何提升系统良率?

本文深入探讨了在Ansys Zemax公差分析中如何有效设置与优化补偿器以提升系统良率。文章指出,补偿器是连接理想设计与现实生产的关键,通过模拟实际装配中的调整(如后焦距),能显著改善公差分析的“悲观”预测。详细介绍了补偿器的添加方法、多补偿器策略、评价函数设计以及通过灵敏度分析和蒙特卡洛档案优化补偿效果,旨在帮助光学工程师制定更符合生产实际的公差策略,从而有效提升产品良率。

weixin_28419039的博客 619

半导体关键系统之RMS浅谈

这种系统还要求设备在设备上的配方发生变化时通知工厂主机,并需要与EAP(Equipment Automation Process)联结,旨在实时管控自动化系统所用配方与用户当初的设定是否匹配,从而使得自动化系统所用的配方更加趋于安全。例如,制药行业中的药品生产管理系统(GMP),它对药品的生产过程进行严格控制,包括原材料的采购、生产工艺流程、质量控制等方面。这些系统通常与企业的生产系统集成,能够对产品的配方进行精细化管理,包括配方的设计、试验、验证、生产等环节。

阿拉伯梳子的专栏 6155

使用java实现rfc3161,openssl验证用自签名证书签名的RFC3161时间戳

我使用openssl从rfc 3161 timestampreq生成了一个rfc3161 timestampresp。因此,我使用了自签名CA证书和自签名CA使用以下命令颁发的TSA证书:openssl ts -reply -queryfile request.tsq -signer TSAcert.pem -out response.tsr已创建响应。openssl ts -reply -tex...

weixin_29638987的博客 655

医药领域知识图谱快速及医药问答项目(项目全过程)

该项目是中科院软件所刘焕勇老师在github上的开源项目,基于知识图谱的医药领域问答项目 Github项目地址:mirrors / liuhuanyong / qasystemonmedicalkg · GitCode 一、项目环境搭建 该部分要十分注意,由于版本升级的问题,一些用法及格式已经不兼容了。 python3.8 下载地址:Python Release Python 3.8.10 | Python.orght...

qq_52062182的博客 9916

swupdate签名验证失败根因:x-timestamp时间戳机制深度解析

固件安全启动与OTA升级中,签名验证是保障固件完整性和来源可信的核心环节。其底层依赖PKI体系,不仅校验RSA/ECDSA数学签名,更关键的是验证证书链有效性、内容哈希一致性及时间上下文合法性。其中,x-timestamp作为CMS签名结构中的UTCTime字段,承担着设备本地时间与签名时刻的偏差容错判断,直接决定验签成败。该机制不依赖NTP,却对时钟同步精度、OpenSSL时区处理、ASN.1编码规范和swupdate版本兼容性高度敏感。在工业嵌入式场景下,RTC漂移、容器环境时间失准、跨时区证书生成等常

weixin_33875564的博客 308

Mediapipe手势识别实战——基于关节角度计算实现动态手势分类

本文详细介绍了如何利用Mediapipe进行手势识别,通过计算手指关节弯曲角度实现动态手势分类。文章从基础原理出发,讲解了关节角度计算的数学方法,并提供了Python实现代码。同时,还分享了数字手势和OK手势的识别实战经验,以及性能优化和工程实践中的关键技巧,帮助开发者快速掌握实时手势识别技术。

weixin_26891599的博客 403

OpenWrt国内镜像源一键切换脚本:清华/阿里/中科大源全搞定

本文介绍了OpenWrt国内镜像源一键切换脚本,支持清华、阿里和中科大三大源,自动识别设备架构和系统版本,显著提升软件包安装速度和成功率。脚本包含架构自动识别、版本适配、多源选择和配置备份等功能,适用于x86_64、ramips/mt7621等常见架构,帮助用户解决海外源访问缓慢的问题。

g5h6i的博客 1175

Fido签名验证流程详解:从源码到LZMA压缩的完整安全链

Fido是一款专业的PowerShell脚本工具,专门用于自动化下载Microsoft Windows官方零售版ISO文件以及UEFI Shell启动镜像。作为Windows系统下载的安全保障工具,Fido通过完整的签名验证流程确保用户获取的ISO文件是未经篡改的官方原版。本文将深入解析Fido从源码到LZMA压缩的完整安全验证机制,帮助用户理解这一重要安全工具的工作原理。 ## 🔒 Fido

gitblog_00342的博客 1104

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

终极跨平台代码签名指南:使用osslsigncode轻松实现PE/MSI文件签名

在当今跨平台开发日益普及的时代,**osslsigncode** 作为一款基于OpenSSL的开源工具,为开发者提供了在Linux、macOS等非Windows系统上对PE、MSI、CAB和CAT文件进行Authenticode签名的终极解决方案。这个强大的跨平台代码签名工具让开发者无需依赖Windows环境即可完成软件安全认证,大大提升了开发效率和灵活性。🚀 ## 🔑 什么是osslsig

gitblog_01173的博客 1153

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

osslsigncode:跨平台代码签名工具

`osslsigncode` 是一个开源的代码签名工具,旨在为开发者提供一个跨平台的解决方案,用于对Windows可执行文件(如PE、CAB、CAT和MSI文件)进行签名和时间戳操作。该项目的主要目标是替代微软的 `signtool.exe`,使得开发者无需依赖Windows环境即可完成代码签名。`osslsigncode` 基于OpenSSL和cURL构建,因此可以在大多数支持这些库的平台上编译

gitblog_00264的博客 989

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

从零实现电子签名:OpenSSL密钥生成与签名验证实战

电子签名与数字签名,是数字化文档流转中容易混淆的两个概念。数字签名通过哈希摘要、非对称加密和数字证书,确保文件来源真实且内容不可篡改。OpenSSL作为常用的密码学工具,提供了从密钥生成、证书签发到签名验证的完整能力。无论是内部审批、外部合同还是高合规金融单据,选择合适的签名方案都需要掌握私钥保护、证书信任链和时间戳等关键环节。以OpenSSL为例,演示如何从零搭建一套可用的数字签名流程,并结合常见陷阱给出工程实践建议。

weixin_29326909的博客 201

数字证书制作与代码签名实战:OpenSSL+SignTool自签名指南

数字签名与数字证书是软件发布中确认作者身份与文件完整性的重要机制。其核心原理基于非对称加密:私钥对文件哈希进行加密,公钥通过证书对外公开,验证方用公钥即可确认内容未被篡改。这一技术广泛应用于内部工具分发、持续集成产物签名以及商业软件发布。对于开发者而言,利用OpenSSL生成RSA密钥与自签名证书,再通过SignTool对exe、dll等文件完成代码签名,是快速搭建签名链路的高性价比路径。本文从证书参数选型、PFX导出、系统信任配置到批量签名,系统讲解完整实操流程。

weixin_29741447的博客 215

实战指南:5分钟掌握osslsigncode跨平台代码签名工具

在当今软件开发领域,**跨平台代码签名**已成为确保软件安全性和完整性的关键环节。osslsigncode作为一款基于OpenSSL和cURL的开源工具,为开发者提供了在Linux、macOS等非Windows系统上实现Authenticode签名的强大能力,彻底告别对Windows环境的依赖,实现真正的**跨平台代码签名自动化**。 ## 🚀 项目概述:为什么选择osslsigncode?

gitblog_00927的博客 579

对外接口验证sign工具

public class SignUtils { /** * 对外接口验证 * @param app_id * @param my_app_id * @param my_app_secret * @param app_secret * @param timestamp * @param sign * @return */ public boolean sign(String app_id,Stri.

咕噜咕噜wy的博客 1913

用OpenSSL生成代码签名证书并给exe、dll、msi签名:完整流程与踩坑指南

数字签名是软件分发中建立信任的关键技术,其本质是对文件内容做哈希后用私钥加密,验证方再通过证书中的公钥校验来源完整性和身份真实性。在此过程中,数字证书作为信任锚点,需要沿着证书链追溯到系统预置的根证书,这就是现代操作系统判断发布者可信的基础。OpenSSL作为开源密码学工具,可以方便地生成自签名根证书和带代码签名用途的子证书,并通过PFX打包,配合Windows Kits中的signtool完成对exe、dll、msi等文件的签名和时间戳标记。理解证书链与时间戳的作用,不仅能让内部工具和测试包的签名流程规范

weixin_42533120的博客 286

如何在5分钟内掌握跨平台代码签名:osslsigncode完整指南

**跨平台代码签名**已成为现代软件开发的必备技能,而osslsigncode正是解决这一难题的终极工具。这个基于OpenSSL和cURL的开源项目让你在Linux、macOS等非Windows系统上也能实现专业的Authenticode签名,彻底告别对Windows环境的依赖,为你的软件发布流程带来革命性的效率提升。 ## 项目概述与价值主张 osslsigncode是一个轻量级但功能强大的

gitblog_00042的博客 393

微信支付签名验证全流程解析:从RSA原理到OpenSSL实战

在数字支付与API安全领域,RSA非对称加密是保障数据完整性与身份认证的核心技术。其原理基于公钥与私钥的配对使用,发送方用私钥签名,接收方用公钥验签,确保信息在传输过程中未被篡改且来源可信。这项技术的核心价值在于为在线交易、接口调用等场景提供了可靠的安全基石。在微信支付等生态中,支付结果回调的签名验证是确保资金安全的关键环节。开发者常需处理平台证书、PEM格式转换,并利用OpenSSL工具进行验签操作。本文将围绕证书处理与OpenSSL实战,详解如何准确验证微信支付通知,帮助开发者构建安全的支付回调处理机制

a304096740的博客 374
上一篇: SQL SERVER 字符串转16进制自定义函数
下一篇: SQL SERVER 2014 内存优化表迁移
FlySpace
博客等级 码龄27年 17粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值