所以我已经设置了ItextSharp,签名过程在一定程度上正常工作,嵌入图像和字体也正常工作,但我在签名文档(未认证)时出现以下验证错误:“字符串长度超过65535字节。”这导致我的文档不符合PDF/A-1a标准。我已经检查了代码,似乎问题在于MakeSignature。ITextSharp(5.5.6)的方法是否有任何特殊原因会发生这种情况?
签名文件错误:https://drive.google.com/file/d/0B9RyqgJoa6W8Q1ZySkhjUS1iTmM/view?usp=sharing
private void SignDocumentSigningBlock(Certificate certificate, SigningInformation information, SigningBlock block, PdfSignatureAppearance appearance, PdfStamper stamper, byte[] signatureImage)
{
X509Certificate2 x509Certificate = new X509Certificate2(certificate.Bytes, certificate.Password, X509KeyStorageFlags.Exportable);
appearance.SetVisibleSignature(block.Name);
SignDocumentSigningBlockWithImage(signatureImage, appearance);
SignDocumentSigningBlockWithText(appearance, x509Certificate);
using (RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)x509Certificate.PrivateKey)
{
IExternalSignature externalSignature = new PrivateKeySignature(DotNetUtilities.GetRsaKeyPair(rsa).Private, _settingManager["DocumentSigningEncryptionHashAlgorithm"]);
MakeSignature.SignDetached(appearance, externalSignature, SignDocumentSigningBlockBuildChain(x509Certificate), null, null, new TSAClientBouncyCastle(_settingManager["DocumentSigningTimestampingServiceAddress"]), Int32.Parse(_settingManager["DocumentSigningEstimatedTimestampSize"]), CryptoStandard.CMS);
}
}
任何建议或帮助都将不胜感激
使现代化
我已经签署了文件,将估计的大小减少到20400个,但在进行合规性检查时,我仍然收到同样的警告。链接到新文档:https://drive.google.com/file/d/0B9RyqgJoa6W8UkpGODhLWHl5bTQ/view?usp=sharing
你的MakeSignature。信号分离
呼叫
MakeSignature.SignDetached(appearance, externalSignature, SignDocumentSigningBlockBuildChain(x509Certificate), null, null, new TSAClientBouncyCastle(_settingManager["DocumentSigningTimestampingServiceAddress"]), Int32.Parse(_settingManager["DocumentSigningEstimatedTimestampSize"]), CryptoStandard.CMS);
明确要求iTextSharp为
Int32.Parse(_settingManager["DocumentSigningEstimatedTimestampSize"])
许多字节来嵌入签名。
因此,请减少\u settingManager[“DocumentSigningEstimatedTimestampSize”]
值。
值0
要求iTextSharp进行粗略估计。这样的估计可能会超出某些限制,因此不应在您的情况下使用。
顺便说一下,名称DocumentSigning估计时间戳大小
在这里具有误导性。
附言:如果你在签名中嵌入了额外的材料,比如CRL、OCSP响应或时间戳,那么签名的大小就会增加。对于PDF/A-1a合规性,请尽可能少地在签名中添加此类附加信息。
一致性问题 在分布式系统中,一致性(Consistency,早期也叫 Agreement)是指对于系统中的多个服务节点,给定一系列操作,在协议(往往通过某种共识算法)保障下,试图使得它们对处理结果达成某种程度的一致。 如果分布式系统能实现“一致”,对外就可以呈现为一个功能正常的,且性能和稳定性都要好很多的“虚处理节点”。 举个例子,某影视公司旗下有西单和中关村的两个电影院,都出售某电影票,票一共就
我正在为我的应用程序创建一个cassandra会话对象,并为它创建一些准备好的语句。对每个准备好的语句设置不同的一致性级别。 我们之前只有statement1,cassandra读取延迟小于10ms。当我们添加statement2并从代码的一部分开始使用它时,每次cassandra调用的延迟都会增加到250ms。 这是datastax中的错误吗?有没有可能 正在将一致性级别设置为? 我错过了一些愚
使用CQRS和事件存储,微服务之间的编排提供了最终的一致性,其中一个微服务中的更改需要一点时间传播到其他相关的下游系统(本质上是其他微服务)。如果数据非常关键,以至于两个微服务都应该具有很强的数据一致性,那么有什么选择呢?我能想到的一个选择是像数据网格那样的直写缓存,但这非常脆弱,特别是在分布式系统中。
在jasper-report中生成PDF/A包含许多缺陷,并且在某些版本的jasper-report中不受支持。这就是为什么我决定传递这篇问答文章的原因,它指出了将一个带有图形的简单报表导出到PDF/a所必需的步骤和库版本 示例数据(usersrep.csv) 如果将报告导出为pdf,我需要做什么来生成pdf/A-1A?
目前线程模型 非一致性场景 1,客户端请求加锁写入db和binlog文件 2,将结果返回客户端 3,通过发送BinlogSync请求向从库同步 4,从库返回BinlogSyncAck报告同步状况 一致性场景 1,客户端请求先写入binlog文件 2,通过发送BinlogSync请求向从库同步 3,从库返回BinlogSyncAck报告同步状况 4,将相应的请求写入db 5,将结果返回客户端 Bin
问题内容: protocol BasePresenterProtocol : class {} protocol DashboardPresenterProtocol : BasePresenterProtocol {} 在上面的代码中,我在下一行收到错误 ,但未确认协议,但我已在中声明。虽然我已经宣布 为什么会出现此错误?请让我知道我在这段代码中做错了什么。 问题答案: 您不能使用type 属性