gpt4 book ai didi

java - 使用 X.509 证书的数字签名

转载 作者:太空宇宙 更新时间:2023-11-03 14:59:06 25 4
gpt4 key购买 nike

我有一个包含在智能卡中的 SHA256withRSA X.509 证书。我需要用它在 Java 中签署文档,生成 P7M (CAdES) 信封。到目前为止,我已经找到了一些签署文件的例子,但问题是:

  • 大多数示例仅使用 PDF(例如 itext 库),但我需要还签署其他文件,例如 .doc
  • 签名示例使用 keystore 或私钥。但我只是X.509 证书。我想 key 体现在 X.509 中证书

您有任何入门指南吗?我很困惑,找不到起点。
谢谢!

最佳答案

1.) 您可以使用文件的 byte[] 对任何文件进行签名。这将是一个二进制签名。它适用于任何文件(.html、.txt、.pdf、.doc、..)。

与您提到的“PDF 签名”相比,这些签名称为 PAdES签名。这些签名被某些应用程序识别,例如 Adob​​e Acrobat。如果您使用适当的应用程序打开此类 PDF,该应用程序将通知您文档已签名。但是,如果您使用二进制签名,应用程序无法做到这一点 - 但至少您可以对所有内容进行签名。

2.) 您需要私钥才能签署某些内容。 [X.509][2} 证书仅包含公私 key 对的公共(public)部分。隐私部分必须保密。在您的情况下, key 的私有(private)部分存储在智能卡上。

阅读智能卡的手册以便使用它。如果您不了解公钥/私钥的工作原理,请继续阅读 something about PKI .

关于java - 使用 X.509 证书的数字签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25179006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com