小编Jha*_*ack的帖子

用于管理Java中的XAdES签名的库

我正在寻找一个允许创建和验证XAdES签名的Java库(格式越多越好:XAdES-BES,XAdES-C,XAdES-XL等).

我发现最有趣的实现是:

  • Java XML数字签名API(JSR 105)(= Java SE 6中包含的API),它基于以下内容;
  • Apache Santuario(http://santuario.apache.org/),它仅为基本功能提供有用的支持;
  • XAdES4j(http://code.google.com/p/xades4j/,精彩的演示文稿:http://prezi.com/06vyxbgohncv/xades4j-en/ ),这似乎很有趣,因为它"可以生成,验证和扩展XAdES主要表单中的签名:XAdES-BES,XAdES-EPES,XAdES-T和XAdES-C.此外,通过丰富现有签名来支持扩展表单".然而,这是一个thesys的结果,它只有一个开发人员;
  • eID数字签名服务(http://code.google.com/p/eid-dss/),由比利时联邦ICT部门开发,支持XAdES-XL格式.

您建议使用哪个或建立哪个?

java xml archiving digital-signature xml-signature

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

Noda Time - 带区域的开始/结束日期

在代码运行的系统上设置的时区中,获取ZonedDateTime(表示当前日期的开始和结束)的正确和更简洁的方法是什么?

以下代码是不是太复杂了?

ZonedDateTime nowInZone = SystemClock.Instance.Now.InZone(DateTimeZoneProviders.Bcl.GetSystemDefault());

ZonedDateTime start = new LocalDateTime(nowInZone.Year, nowInZone.Month, nowInZone.Day, 0, 0, 0).InZoneStrictly(DateTimeZoneProviders.Bcl.GetSystemDefault());

ZonedDateTime end = new LocalDateTime(nowInZone.Year, nowInZone.Month, nowInZone.Day, 23, 59, 59).InZoneStrictly(DateTimeZoneProviders.Bcl.GetSystemDefault());
Run Code Online (Sandbox Code Playgroud)

鉴于这些值,我需要测试另一个ZonedDateTime是否在它们之间.

.net c# timezone nodatime

10
推荐指数
1
解决办法
2074
查看次数

iText 7.1.0 展平签名字段,外观拉伸

我有一个 PDF ( https://github.com/giacgbj/stackOverflow/blob/master/xxx.pdf ),以某种方式由第三方进行数字签名,其签名具有外观

原来的

当我使用以下代码(iText 7.1.0)拼合PDF(https://github.com/giacgbj/stackOverflow/blob/master/xxxFlattened.pdf )时

try (PdfWriter output = new PdfWriter("output.pdf");
            PdfDocument input = new PdfDocument(new PdfReader("input.pdf"), output)) {
   PdfAcroForm.getAcroForm(input, true).flattenFields();
}
Run Code Online (Sandbox Code Playgroud)

签名的外观被拉伸成这样:

拉伸的

使用 PDFBox 或 GhostScript 等命令行参数或转换 (imagemagick) 或 pdf2ps/ps2pdf 可以拼合相同的 PDF。

这种行为的原因是什么?

itext pdfbox itext7

4
推荐指数
1
解决办法
669
查看次数