使用JAR签名进行代码签名

news/2024/5/2 20:08:00/文章来源:https://blog.csdn.net/WoTrusCA/article/details/128204881

JavaArchive(JAR)包格式可用于打包Java应用程序和库。

签名的JAR文件可以选择包含来自TSA时间戳响应,使用RFC#3161格式。

添加JAR签名者添加JAR签名者的链接,SignServer中的JAR签名器称为JArchiveSigner。

要配置JArchiveSigner,请按照以下步骤操作并使用名为jarchive_signer.properties的模板:

1、转到SignServerAdminWebWorkers页面并单击添加以添加新的工作人员。

2、在AddWorker/LoadConfiguration页面上,选择方法FromTemplate。

3、在LoadFromTemplate列表菜单中,选择jarchive_signer.properties并单击Next。

4、单击Apply并选择工作人员名称JArchiveSigner。

5、单击“配置”选项卡并对以下项进行适当的调整:

名称:指定一个名称。

CRYPTOTOKEN:如果使用SignServerEnterprise,这应该与在SignServer软件安装部分中配置的加密令牌的名称相匹配。如果您在设备上,则此加密令牌是为您创建的,名称为HSMCryptoToken10。如果使用SignServerCloud,实例会提供CryptoTokenP12,其中包含您需要的所有示例密钥和证书,您可以继续最后一步并确保您的签名者处于ACTIVE状态。

6、通过单击StatusSummary选项卡,然后单击RenewKey为签名者生成新的密钥对。

7、选择一个密钥算法,例如RSA和一个密钥规范,例如2048,然后单击Generate。

8、通过单击生成CSR为新密钥对创建证书签名请求(CSR)。

9、选择SHA256withRSA等签名算法,并为新证书指定主题DN(名称),例如CN=MSAuthCodeSignerTest,O=MyCompany,C=SE,然后单击Generate。

10、单击下载并保存CSR文件。

11、将CSR文件带到您的证书颁发机构以获取证书和CA证书作为回报。在生产系统中安装证书之前,请确保检查签名者的授权,因为一旦安装了证书,签名者将完全正常运行并准备好接收请求。

12、单击安装证书并浏览证书文件。首先提供签署者证书,然后依次颁发CA证书。单击添加以列出链中的证书。

13、按正确顺序添加所有证书后,单击安装。

14、安装证书后,签名者应处于ACTIVE状态。如果不是,请检查其“状态摘要”页面的顶部是否有任何错误。

使用JArchive签名器

要提交要签名的JAR文件,请使用以下可用接口之一:

客户端 Web 表单上传:使用Web 浏览器中的 SignServer 客户端 Web 表单使用 JArchive 签名者提交并签署 JAR,请参阅使用客户端 Web 提交和签名文件。

使用客户端 CLI 提交文件:使用 SignServer 客户端 CLI SignClient 使用 JArchive 签名者提交并签署 JAR,请参阅使用客户端 CLI 提交文件并签名。

Web 服务:使用 SignServer 客户端 Web 服务 (WS) 接口集成到自定义应用程序中。有关详细信息,请参阅使用普通签名进行代码签名。

使用 cURL 或 wget 编写脚本:使用 HTTP 客户端,例如 cURL 或 wget。有关详细信息,请参阅使用普通签名进行代码签名。

使用客户端Web提交和签名文件

下面描述了如何使用Web浏览器中的SignServer客户端Web表单使用JArchive签名器提交和签署JAR。

要下载示例JAR,然后使用客户端网页提交文件并对其进行签名,请执行以下操作:

下载helloworld.jar测试 JAR 签名。

转到 SignServer客户端 Web通用页面。

在页面上向下滚动到文件上传的通用签名或验证部分,并在工作人员姓名字段中指定 JArchiveSigner 。

单击选择文件,选择helloworld.jar,然后单击提交。

 

系统将提示您保存已签名的JAR文件helloworld.jar。

使用客户端CLI提交和签名文件

要使用SignServerClientCLISignClient提交JAR文件进行签名,请使用以下命令向工作人员发送请求:

bin/signclientsigndocument-workernameJArchiveSigner-infilehelloworld.jar-outfilehelloworldsigned.jar

workernameSignServer服务器中工作人员的名称在哪里,要infile签名的未签名输入文件的路径,以及outfile签名版本将写入的文件名。

验证签名的JAR文件验证签名JAR文件的链接

Javajarsigner工具可用于验证JAR文件的签名和证书。该工具在Java开发工具包(JDK)中可用。

安装JDK后,打开命令提示符,并使用签名文件的路径执行命令(作为User):

Jarsigner验证示例

jarsigner-verify-strictMyJAR-signed.jar

要获取其他信息以及证书,还请指定选项-verbose和-certs.

JArchive 签名者选项

为 JArchive Signer 配置的最相关的属性是:

 

对于所有可用的属性,请参阅 SignServer 文档JArchive Signer部分。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_231292.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用代码画两棵圣诞树送给你【附详细代码】

大家好,我是宁一 代码的魔力之处在于,可以帮我们实现许多奇奇怪怪、有趣的想法。 比如,用Python的Turtle库,可以帮我们在电脑上画出好看的图像。 下面这张樱花图就是用Turtle库实现的。 这不圣诞节快到啦。 那么就用代码来画一…

jsp servlet mysql实现的二手车汽车管理系统项目源码附带视频指导运行教程

今天给大家演示一下由jsp servlet mysql实现的一款简单的二手车汽车管理系统,系统设计采用了mvc分层的模式,结构非常清晰,功能虽简单,但是把所有可能用到的功能都实现了,往上面添加功能很简单,直接复制代码…

计算机网络学习笔记(Ⅲ):数据链路层

目录 1 数据链路层概述 1.1 基本概念 1.2 主要功能 2 封装成帧和透明传输 2.1 封装成帧 2.2 透明传输 1.字符计数法 2.字符填充法 3.零比特填充法 4.违规编码法 3 差错控制 3.1 差错 3.1 检错编码 1.奇偶校验码 2.CRC循环冗余码 3.2 纠错编码 1.确定校验码位数…

docker安装nginx代理nacos2.1.2版本集群

目录 安装docker最新版本 创建一个docker network,使之固定docker局域ip docker安装mysql主从 配置挂载的my.cnf配置文件 进入mysql主数据库容器命令 登录主数据库创建用于从数据连接主数据的账号密码 输入show master status;查看master数据库状态 在从数据库…

关于JVM:内容以及流程释义

对于JVM、GC、类加载,很多人摸不清楚头绪,不知道他们之间的关系。误以为GC和类加载还有JVM区分统称垃圾回收,实则他们包含的东西很多,很细,完整的了解正个JVM的加载过程,就需要全面理解这些东西。 我认为的…

如何在 Windows 10 上启用和设置 BitLocker 加密

启用和设置 BitLocker 加密 通过控制面板启用 BitLocker通过命令提示符启用 BitLockerBitlocker 可以使用控制面板中的图形界面或在命令提示符中执行一些命令来启用。在 Windows 10 上启用 Bitlocker 非常简单,但用户通常更喜欢通过控制面板而不是命令提示符来管理 Bitlocker …

Java数据结构与Java算法学习Day05---二叉树(简略笔记记录)

目录 一、二叉树 79 1.1树的基本定义79 1.2数的相关术语 80 1.3二叉树的基本定义 81 1.4二叉查找树的创建 82 1.4.1二叉树查找树创建---插入方法(put) 83 1.4.2二叉树查找树创建---获取方法(get)84 1.4.3二叉树查找树创建…

【测试沉思录】23. 如何实现基于场景的接口自动化测试用例?

作者:陈爱娇 编辑:毕小烦 自动化本身是为了提高工作效率,不论选择何种框架,何种开发语言,我们最终想实现的效果,就是让大家用最少的代码,最小的投入,完成自动化测试的工作。 基于这…

K-Means++代码实现

K-Means代码实现 数据集 https://download.csdn.net/download/qq_43629083/87246495 import pandas as pd import numpy as np import random import math %matplotlib inline from matplotlib import pyplot as plt# 按文件名读取整个文件 data pd.read_csv(data.csv)class…

学编程:Python入门考级必备[11]

目录 1.查找字符串 2.字符串的格式化 3.字符串的转义字符 \ \" 4. 修改字符串 5.字符串连接与分割 附件代码: 炼 知识模块(11) 名符其实--字符串 1.查找字符串 # 1.1用 in 函数 a aa in acacacacaabaac print(a) # 1.2 用index 找不到就报错 b h…

民办二本程序员阿里、百度、平安等五厂面经,5 份 offer(含真题)

昨天小休,一位高中同学联系了我,说是要请我吃饭,有这种好事,我当然是毫不犹豫的答应了啦! 等等...会不会是找我借钱的? 好慌,怎么办?已经答应过去了。 在后面的交谈中,…

Odoo丨如何在明细行中添加复选框?

最近,在项目实际业务中遇到需要对明细订单添加复选框和按钮进行操作的需求。 起初在拿到需求时,我联想到Odoo默认tree视图是有复选框和操作按钮的功能,于是查看了源码,确认了这个想法。 因为这个是属于字段中one2many 关系属性来…

三车道交通流元胞自动机研究(matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

中国电信移动物联网发展成果与创新实践 ,干货满满

近日,首届移动物联网大会(2022)(以下简称“大会”)在江苏省无锡市举办。本次大会由工信部指导,中国信息通信研究院(以下简称“中国信通院”)、中国通信学会、无锡市人民政府、人民邮…

大数据学习:进程管理

文章目录一、进程ID(PID)二、查看进程1、进程查看命令-ps(1)命令作用(2)参数说明(3)操作案例2、Linux进程状态3、观察进程变化命令 -top(1)参数选项&#xff…

超声功率放大器在MEMS超声测试中的应用

MEMS(微机电系统)技术的不断发展,目前已经广泛应用在生物、航空、医学、航天等多领域。MEMS传感器即微机电系统(Micro-electroMechanicalSystems),是指精密机械系统和微电子电路技术结合发展出来的一项工程…

【正点原子FPGA连载】第二十八章 以太网ARP测试实验 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692450874670 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第二十八章 以太…

【C++11多线程】线程同步之线程互斥:mutex、lock_guard

文章目录1.mutex2.锁双重判断3.lock_guard4.unique_lockunique_lock的构造函数1.mutex 头文件 #include <mutex> mutex 是一个类&#xff0c;其源码如下图所示。 互斥锁其实就是一个类对象&#xff0c;多个线程尝试用成员函数 lock() 来加锁&#xff0c;只有一个线程能…

自定义HandlerMethodArgumentResolver如何注册到springmvc框架里的

目录 1.DEBUG 注册代码 1.1 WebMvcConfigurerComposite 1.2 DelegatingWebMvcConfiguration 1.3 AutowiredAnnotationBeanPostProcessor 2.DEBUG调用代码 2.1 this.argumentResolvers 日常工作开发中&#xff0c;总有一些参数&#xff0c;在未传参数时&#xff0c;需要自定…

Web3中文|马斯克也疯狂?网红AI “ChatGPT”有多火?

一个名为“ChatGPT”的网红AI竟写出了毁灭人类的计划书。 计划书的步骤详细到入侵各国计算机系统、控制武器、破坏通讯、交通系统等等。和电影里的情节一模一样&#xff0c;甚至ChatGPT还给出了相应的Python代码。 诱导ChatGPT写下该计划的是一位名为扎克德纳姆&#xff08;Z…