digital-signature 相关问题

用于证明数字消息或文档的真实性的数学方案(维基百科)。加密工具包通常与公钥 - 私钥对一起使用,以对消息进行数字签名并验证消息。

itext如何在签名后锁定某些字段?

我想检查itex是否适合我的需要。 我需要在现有 PDF 中添加一些证书字段,并在用户签名后 - 我需要锁定此 PDF 中的所有字段。 这是一个简单的

回答 0 投票 0

如何使用 Ledger 设备将登录过程实现到本地应用程序中?

我为 Linux 和 Windows 开发了一些应用程序。其中一些需要经典的登录名/密码才能登录并启动应用程序。我希望将 Ledger 设备的登录过程添加或实施到

回答 0 投票 0

Authenticode - 使用外部工具对文件的哈希进行签名

我尝试使用 MS 的 signtool 来使用外部工具对可执行文件的哈希进行签名。 不幸的是,注入符号哈希的选项 /di 不起作用。 没有错误信息,但是当我...

回答 0 投票 0

关于小组功能的建议

我有一个数据需要利益相关者在多个列中签名(可能提及评论)。我可以在为这些数据集创建标题行的地方使用自动化功能吗?

回答 0 投票 0

RPM 签名验证在 Ubuntu 中失败但在 CentOS 上有效

什么可能导致 rpm -Kv hello.rpm 识别由我的 Python 脚本生成的签名,该脚本模仿 rpm 工具的原始歌唱过程?签名是

回答 0 投票 0

PDFBox:更改文档中现有字段的页码

如何使用 PDFBox 更改 pdf 文档中现有字段的页码。我尝试了以下代码,但没有用 public static void changePageNumberOfField(PDDocument 文件, ...

回答 0 投票 0

数字签名未在 VBA 编辑器中列出

我有一个数字签名出现在 File => Info => Protect Workbook => Add a digital Signature 但是,它没有出现在 VBA 编辑器列表中:工具 => 数字签名 =>

回答 2 投票 0

Google 登录 firebase 在发布模式 flutter 下不起作用

我被告知要添加三个密钥以通过 Google 登录到发布版本,所以我向 firebase 添加了三个 sha 密钥:我在发布中使用了两个 sha1 密钥,从项目本身的调试模式中获取了一个密钥.. .

回答 1 投票 0

PDFBOX:COSStream已关闭,无法读取。也许它的封闭 PDDocument 已经关闭?

我正在尝试使用 pdfbox 执行签名。在调用 saveIncrementalForExternalSigning 方法之前,我添加了验证信息。 public ByteArrayOutputStream addSignature(PDDocument 做...

回答 0 投票 0

以编程方式签署 JAR

我想用我的代码签署一个没有密钥库的 JAR - 只使用私人用户的密钥(因为我有很多用户和密钥)。 我发现了同样的问题,但它使用了密钥库,我想...

回答 1 投票 0

如何在 Java 中以编程方式签署 jar 文件?

有没有人这样做过?我在谷歌上找到的唯一参考资料是:https://web.archive.org/web/20150423130641/http://www.onjava.com/2001/04/12/signing_jar.html 仍然使用 sun。*

回答 5 投票 0

Python 中的数字签名签名和 Nodejs 中的验证

我正在使用 Python Cryptography 和 Nodejs Crypto 库。我希望在 Python 中对签名进行数字签名并在 Nodejs 中对其进行验证。 示例密钥对:从 Hashicorp Vault 获得(类型:ecdsa-p521)

回答 0 投票 0

如何解码使用私钥进行 RSA 编码的 128 字节字符串。它遵循 PKCS#7 标准,但没有哈希机制

我有一个用私钥编码的 128 字节字符串(十六进制)。我知道这样做是为了确保只有那些拥有私钥的人才能创建这个字符串(然后添加到...

回答 2 投票 0

使用 Java 验证 Bouncy Castle 的签名

通过使用 OpenSsl,我生成了证书“test.cer”和密钥存储“test.p12” 然后创建了证书: Security.addProvider(new BouncyCastleProvider()); 证书工厂

回答 0 投票 0

TypeError: secp.sign 在使用 ethereum-cryptography 库中的 secp256k1 时不是一个函数

我正在关注 Alchemy Learn 的以太坊开发人员训练营。我在自己的 JavaScript 环境中运行以下代码时遇到错误,该代码旨在使用

回答 0 投票 0

带有 ASP.NET 和 Bouncy Castle 的 CRYSTALS-DILITHIUM 数字签名

我正在用 ASP.NET 编写一个点对点文件共享系统。客户需要能够验证他们的文件是否来自可信赖的作者。客户拥有作者的公钥......

回答 1 投票 0

如何在不破坏完整性检查的情况下对包装的罐子进行数字签名?

我有一个用maven构建的java项目。在打包阶段,代码被构建到一个 jar (maven-jar-plugin 3.1.1) 中并被包装到一个 .exe (launch4j-maven-plugin 1.7.25) 我的一部分...

回答 1 投票 0

验证未编组对象的数字签名失败

我按照本指南签署和验证 XML 消息 https://www.oracle.com/technical-resources/articles/java/dig-signature-api.html。验证使用生成的文档。这个应用程序...

回答 0 投票 0

JAXB Unmarshall 正在删除数字签名中的回车

我正在使用以下依赖项进行 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&#13; OwEDxTFhf/FCPH6Nj9KCFNabZddwN38tCOkkAkYdkKdW14AM80HU/9yPIAMWytibbyd3AKVuRQgd&#13; +qkf1/V8J1Ki1LNO4tbPzxqpNMpRmpH/469lgMHEz9Xy1DnJ154E+H2OWNufooGwwpV/pMbM8RzY&#13; 当我尝试这样验证时,它起作用了: 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&#13; OwEDxTFhf/FCPH6Nj9KCFNabZddwN38tCOkkAkYdkKdW14AM80HU/9yPIAMWytibbyd3AKVuRQgd&#13; +qkf1/V8J1Ki1LNO4tbPzxqpNMpRmpH/469lgMHEz9Xy1DnJ154E+H2OWNufooGwwpV/pMbM8RzY&#13; +yVSjKguJr9UWKWswQkD0XUasVXBZckjlYxZL24ZwD1rwU7wP2itOli3VH9ReC3CA33YOUMT0ktP&#13; 解组 <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 + "&#13;"; } @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。这些格式旨在处理复杂的数据结构,并且不太可能受到换行问题的影响。

回答 2 投票 0

APDU 在数据标志上响应“6985:不满足使用条件”

我需要使用智能卡签署一些数据,为此我使用以下 APDU 命令: // 一些带有 PIN 验证等的代码... 等待 sendAPDUCommand(scContext, cardContext, "

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.