标签: digital-signature

加密时间

是否存在加密机制,通过该机制可以使用日期对文档进行签名,以便以后不可能伪造相同的签名?也许某种服务器发布每日加密密钥(但你怎么能信任它们?;-).

对于不可避免的刺激实用主义者,我不是想完成一些任务.我只是好奇解决方案空间是什么样的.

time cryptography digital-signature trusted-timestamp

6
推荐指数
1
解决办法
238
查看次数

PADES-LTV文档时间戳验证错误

我正在签署带有文档时间戳签名的PADES-LTV签名格式的pdf文档.

通常,签名文件都可以.签名和文档时间戳签名都经过验证,一切正常.但是,有时会出现以下结果:

当我尝试使用Adobe Reader 10.1.0.534打开签名文档时,将验证签名,但无法验证文档时间戳签名.它说:至少有一个签​​名需要在顶栏上进行验证.当我查看左侧的"签名"部分时,它说:签名者的身份无效,因为它已过期或尚未生效.如果我尝试打开文档时间戳的签名详细信息,Adobe Reader会崩溃.(我提交了一个关于此问题的错误报告,但我还没有收到任何回复)

当我使用Adobe Acrobat X pro打开签名文档并查看文档时间戳签名的详细信息时,此值" 1970/01/01 03:00:00 + 03'00' "将显示在签名日期字段中.实际上,日期字段应该不可用,因为ETSI 102 778-4 V1.1.2说:在文档时间戳字典中,名称,M,位置,原因和联系信息不应存在.

为什么adobe reader会显示这个值1970/01/01 03:00:00 + 03'00'而不是不可用

有什么不对?

谢谢

pdf timestamp digital-signature adobe-reader pades

6
推荐指数
0
解决办法
803
查看次数

从不透明的pkcs7 p7m转换为分离的smime

嗨,我找不到一种方法来转换不透明的pkcs#7(p7m)在明文deatached smime中,以便签名的内容可以由常规的mime库处理.

我想取p7m文件并将其转换为一个有效签名的smime消息.

步骤应该是:

  • 从p7m中提取签名内容

  • 从p7m中提取cms结构

  • 将所有内容打包在一个带有分离签名的新smime结构中

这个操作可以吗?

我搜索过openssl手册,但我找不到办法.

openssl smime digital-signature pkcs#7

6
推荐指数
1
解决办法
1376
查看次数

用BC验证分离的签名

如何使用Java中的BouncyCastle提供程序验证分离的签名(CMS/pkcs#7签名)?

目前,我的代码会在邮件中引发异常 message-digest attribute value does not match calculated value

Security.addProvider(new BouncyCastleProvider());

File f = new File(filename);
byte[] buffer = new byte[(int)f.length()];
DataInputStream in = new DataInputStream(new FileInputStream(f));
in.readFully(buffer);
in.close();

CMSSignedData signature = new CMSSignedData(buffer);
SignerInformation signer = (SignerInformation) signature.getSignerInfos().getSigners().iterator().next();
CertStore cs = signature.getCertificatesAndCRLs("Collection", "BC");
Iterator iter = cs.getCertificates(signer.getSID()).iterator();
X509Certificate certificate = (X509Certificate) iter.next();

CMSProcessable sc = signature.getSignedContent();

signer.verify(certificate, "BC");
Run Code Online (Sandbox Code Playgroud)

java bouncycastle digital-signature

6
推荐指数
2
解决办法
1万
查看次数

如何使用PHP检查来自broswer的数字签名

我有一个在浏览器中签署文本字符串的Javascript.它在Internet Explorer下使用CAPICOM,在Mozilla浏览器下使用window.crypto.签名过程后,我收到一个BASE64编码签名.

使用HTTPS我将签名和文本字符串上传到带有PHP应用程序的Web服务器.从SSL(HTTPS)我收到用户的证书.从这个证书我可以提取用户的公钥.

现在我想验证签名文本字符串的签名以及用户的证书和公钥.我试过openssl_verify PHP函数没有成功.

我总是收到一个错误:

错误:0408D077:rsa例程:FIPS_RSA_VERIFY:签名长度错误

  • 我有证书,没关系;
  • 我有从证书中提取的公钥,它也经过验证和确定;
  • 我有签名(BASE64解码);

不幸的是我无法验证签名?我无法提供演示或示例,因为它目前仅在本地网络中.

javascript php digital-certificate capicom digital-signature

6
推荐指数
1
解决办法
4353
查看次数

如何使用目标C查看PDF文件中的数字签名

我的应用程序中有一个PDF查看器.我只是将PDF文件加载到UIWebView中.但是当PDF包含数字签名时,它不会显示在WebView中.显示PDF的所有其他内容.只有签名区域留空.我用预览检查了OSX中的Safari,结果是一样的.

然后我下载了适用于Mac的Adobe Reader应用程序,并尝试打开PDF.它正确显示了签名!!

任何人都可以告诉我目标C中是否有任何机制来显示PDF文件的签名.

pdf digital-signature uiwebview ios

6
推荐指数
1
解决办法
2396
查看次数

PKCS#11实例化问题

我正在尝试使用智能卡和PKCS#11签署pdf文件.我链接正确的.dll,我正在动态制作配置文件,但我遇到了配置问题.

String config = "name=zz\n" +
                "library=" + DLL + "\n" +
                "slotListIndex = " + getSlotsWithTokens(DLL)[0];
ByteArrayInputStream pot = new ByteArrayInputStream(config.getBytes());
Provider providerPKCS11 = new SunPKCS11(pot);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Exception in thread "main" java.security.ProviderException: Initialization failed
    at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:376)
    at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:107)
    at smartCardPKCS11.scPKCS11.main(scPKCS11.java:56)
Caused by: java.security.ProviderException: slotListIndex is 52481 but token only has 10 slots
    at sun.security.pkcs11.SunPKCS11.<init>(SunPKCS11.java:357)
    ... 2 more
Run Code Online (Sandbox Code Playgroud)

在整个插槽事情上有点困惑.有人可以帮我吗?

我的getSlotsWithTokens看起来如何:

public static long[] getSlotsWithTokens(String libraryPath) throws IOException{
        CK_C_INITIALIZE_ARGS initArgs = new CK_C_INITIALIZE_ARGS();
        String functionList = "C_GetFunctionList";

        initArgs.flags = 0;
        PKCS11 …
Run Code Online (Sandbox Code Playgroud)

java cryptography digital-signature pkcs#11

6
推荐指数
1
解决办法
2万
查看次数

使用AngularJS进行数字签名

我正在使用MEAN堆栈,我想为具有表单的员工实现数字签名,但我找不到关于此主题的任何库或教程.

有没有人这样做过?这样做的正确方法是什么?

digital-signature angularjs

6
推荐指数
2
解决办法
8425
查看次数

SignedXml CanonicalizationMethod - http://www.w3.org/2006/12/xml-c14n11

是否可以使用带有SignedXml的http://www.w3.org/2006/12/xml-c14n11 CanonicalizationMethod?

SignedXml signedXml = new SignedXml(xmlDoc);
signedXml.SignedInfo.CanonicalizationMethod = "http://www.w3.org/2006/12/xml-c14n11";
Run Code Online (Sandbox Code Playgroud)

扔了

System.Security.Cryptography.CryptographicException: Could not create the XML tr
ansformation identified by the URI http://www.w3.org/2006/12/xml-c14n11.
Run Code Online (Sandbox Code Playgroud)

谢谢!

c# digital-signature signedxml

6
推荐指数
1
解决办法
1482
查看次数

什么放入〜/ .gitconfig来暗示支持它的每个git子命令的--show-signature?

我只是通过搜索git-config(1),git-log(1)git-show(1)git的2.6.2的手册页,但没有发现任何提示的--show-signature选项(如到git showgit log)可以在我的全局配置~/.gitconfig对所有git支持它的子命令.

一个选项是别名,但由于我不知道哪些子命令都支持它,这只是一种解决方法,而不是解决方案.

我猜它可能是core.show-signature = yes或者core.showSignature = yes但并没有改变任何东西.

git logging gnupg digital-signature

6
推荐指数
1
解决办法
481
查看次数