用于证明数字消息或文档的真实性的数学方案(维基百科)。加密工具包通常与公钥 - 私钥对一起使用,以对消息进行数字签名并验证消息。
Authenticode - 使用外部工具对文件的哈希进行签名
我尝试使用 MS 的 signtool 来使用外部工具对可执行文件的哈希进行签名。 不幸的是,注入符号哈希的选项 /di 不起作用。 没有错误信息,但是当我...
我有一个数据需要利益相关者在多个列中签名(可能提及评论)。我可以在为这些数据集创建标题行的地方使用自动化功能吗?
RPM 签名验证在 Ubuntu 中失败但在 CentOS 上有效
什么可能导致 rpm -Kv hello.rpm 识别由我的 Python 脚本生成的签名,该脚本模仿 rpm 工具的原始歌唱过程?签名是
如何使用 PDFBox 更改 pdf 文档中现有字段的页码。我尝试了以下代码,但没有用 public static void changePageNumberOfField(PDDocument 文件, ...
我有一个数字签名出现在 File => Info => Protect Workbook => Add a digital Signature 但是,它没有出现在 VBA 编辑器列表中:工具 => 数字签名 =>
Google 登录 firebase 在发布模式 flutter 下不起作用
我被告知要添加三个密钥以通过 Google 登录到发布版本,所以我向 firebase 添加了三个 sha 密钥:我在发布中使用了两个 sha1 密钥,从项目本身的调试模式中获取了一个密钥.. .
PDFBOX:COSStream已关闭,无法读取。也许它的封闭 PDDocument 已经关闭?
我正在尝试使用 pdfbox 执行签名。在调用 saveIncrementalForExternalSigning 方法之前,我添加了验证信息。 public ByteArrayOutputStream addSignature(PDDocument 做...
我想用我的代码签署一个没有密钥库的 JAR - 只使用私人用户的密钥(因为我有很多用户和密钥)。 我发现了同样的问题,但它使用了密钥库,我想...
有没有人这样做过?我在谷歌上找到的唯一参考资料是:https://web.archive.org/web/20150423130641/http://www.onjava.com/2001/04/12/signing_jar.html 仍然使用 sun。*
我正在使用 Python Cryptography 和 Nodejs Crypto 库。我希望在 Python 中对签名进行数字签名并在 Nodejs 中对其进行验证。 示例密钥对:从 Hashicorp Vault 获得(类型:ecdsa-p521)
如何解码使用私钥进行 RSA 编码的 128 字节字符串。它遵循 PKCS#7 标准,但没有哈希机制
我有一个用私钥编码的 128 字节字符串(十六进制)。我知道这样做是为了确保只有那些拥有私钥的人才能创建这个字符串(然后添加到...
通过使用 OpenSsl,我生成了证书“test.cer”和密钥存储“test.p12” 然后创建了证书: Security.addProvider(new BouncyCastleProvider()); 证书工厂
TypeError: secp.sign 在使用 ethereum-cryptography 库中的 secp256k1 时不是一个函数
我正在关注 Alchemy Learn 的以太坊开发人员训练营。我在自己的 JavaScript 环境中运行以下代码时遇到错误,该代码旨在使用
带有 ASP.NET 和 Bouncy Castle 的 CRYSTALS-DILITHIUM 数字签名
我正在用 ASP.NET 编写一个点对点文件共享系统。客户需要能够验证他们的文件是否来自可信赖的作者。客户拥有作者的公钥......
我有一个用maven构建的java项目。在打包阶段,代码被构建到一个 jar (maven-jar-plugin 3.1.1) 中并被包装到一个 .exe (launch4j-maven-plugin 1.7.25) 我的一部分...
我按照本指南签署和验证 XML 消息 https://www.oracle.com/technical-resources/articles/java/dig-signature-api.html。验证使用生成的文档。这个应用程序...
我正在使用以下依赖项进行 XML 签名: jakarta.activation jakarta.activation-api 我正在使用以下依赖项进行 XML 签名: <dependency> <groupId>jakarta.activation</groupId> <artifactId>jakarta.activation-api</artifactId> <version>2.1.1</version> </dependency> <dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>4.0.0</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>4.0.0</version> <scope>runtime</scope> </dependency> 我能够使用信封成功生成签名: <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><DigestValue>xndyhbkzbLreG3cxXqa5Q5RdKEavhrc2Fvd0Wsc+Oug=</DigestValue></Reference></SignedInfo><SignatureValue>No+gNx3Hwd3WfH0v6OZ8uptWVyneZT55CfUrxMnW33a87egeiImwsyepZZXTbya0ifzX1iOtyyaf OwEDxTFhf/FCPH6Nj9KCFNabZddwN38tCOkkAkYdkKdW14AM80HU/9yPIAMWytibbyd3AKVuRQgd +qkf1/V8J1Ki1LNO4tbPzxqpNMpRmpH/469lgMHEz9Xy1DnJ154E+H2OWNufooGwwpV/pMbM8RzY 当我尝试这样验证时,它起作用了: signature.sign(dsc); System.out.println("doc: " + getStringFromDocument(doc) + " validate: " + validate(doc)); 但是,当我尝试解组签名以便将其分配给 DTO 时,它失败了: JAXBElement<?> root = XmlUtils.getUnMarshaller(xml.getClass().getName()).unmarshal(getStreamSource(doc), xml.getClass()); xml.setSignature(((SignXml<?>) root.getValue()).getSignature()); 在比较文档中生成的签名和解组的签名时,我发现字符 被删除: 医生 <SignatureValue>No+gNx3Hwd3WfH0v6OZ8uptWVyneZT55CfUrxMnW33a87egeiImwsyepZZXTbya0ifzX1iOtyyaf OwEDxTFhf/FCPH6Nj9KCFNabZddwN38tCOkkAkYdkKdW14AM80HU/9yPIAMWytibbyd3AKVuRQgd +qkf1/V8J1Ki1LNO4tbPzxqpNMpRmpH/469lgMHEz9Xy1DnJ154E+H2OWNufooGwwpV/pMbM8RzY +yVSjKguJr9UWKWswQkD0XUasVXBZckjlYxZL24ZwD1rwU7wP2itOli3VH9ReC3CA33YOUMT0ktP 解组 <ns2:SignatureValue>No+gNx3Hwd3WfH0v6OZ8uptWVyneZT55CfUrxMnW33a87egeiImwsyepZZXTbya0ifzX1iOtyyafOwEDxTFhf/FCPH6Nj9KCFNabZddwN38tCOkkAkYdkKdW14AM80HU/9yPIAMWyt 正如我们所看到的,签名是相同的,唯一的区别是字符 被删除了。 我试着查看 EscapeCharacter 解决方案,但它似乎只在旧的 JAXB 实现中可用。有什么想法吗? 性格 是回车 (CR) 字符的转义序列。似乎这个字符在解组过程中被删除,这导致签名不同。 一个解决方案可能是显式添加 字符返回到未编组的签名值。一种方法是创建一个自定义 XMLAdapter,它将添加 解组期间将字符添加到签名值。 这是一个如何创建自定义 XMLAdapter 的示例: public class SignatureValueAdapter extends XmlAdapter<String, String> { @Override public String unmarshal(String value) throws Exception { return value + " "; } @Override public String marshal(String value) throws Exception { return value; } } 这个适配器只是添加了 解组期间签名值末尾的字符。要使用此适配器,您需要使用 @XmlJavaTypeAdapter(SignatureValueAdapter.class) 注释 DTO 中的 SignatureValue 字段。 举个例子: @XmlRootElement(name = "SignXml") @XmlAccessorType(XmlAccessType.FIELD) public class SignXml<T> { @XmlElement(name = "Signature") @XmlJavaTypeAdapter(SignatureValueAdapter.class) private String signature; // getters and setters } 通过将 @XmlJavaTypeAdapter(SignatureValueAdapter.class) 注释添加到签名字段,自定义 XMLAdapter 将在解组期间使用以添加 字符返回签名值。 一个可能的解决方案是将 CR 字符的所有实例替换为数据中不存在的不同字符或字符串。例如,您可以替换“的所有实例 “ 和 ” " 在编组之前,然后替换 " 的所有实例 “ 和 ” " 解组后。这将确保作为数据一部分的 CR 字符被正确保留。 或者,您可以使用不依赖换行符的不同编码格式,例如二进制编码或 JSON。这些格式旨在处理复杂的数据结构,并且不太可能受到换行问题的影响。
我需要使用智能卡签署一些数据,为此我使用以下 APDU 命令: // 一些带有 PIN 验证等的代码... 等待 sendAPDUCommand(scContext, cardContext, "
是否可以使用加密 API:下一代 (CNG) 解密数字签名?
我正在为应用程序开发基于云的许可解决方案。应用程序可执行文件被封装起来,因此如果它被修改就不会运行。数字签名的许可证信息被发送到...
Getting digital signature Error "Error Encountered while BER decoding" using TCPDF
我使用 TCPDF 在 PDF 文档上创建数字签名。 我几乎使用这里提到的确切代码: http://www.tcpdf.org/examples/example_052.phps 我使用与我用于 th... 相同的 crt 文件