esig/dss

GitHub: esig/dss

DSS 提供创建、扩展与验证高级电子签名的服务端框架,解决电子文档的法律效力与完整性问题。

Stars: 979 | Forks: 400

## DSS:数字签名服务 这是项目 DSS 的官方仓库:https://ec.europa.eu/digital-building-blocks/wikis/display/DIGITAL/Digital+Signature+Service+-++DSS. # 问题追踪器 请使用新的 JIRA 访问项目问题页面:https://ec.europa.eu/digital-building-blocks/tracker/projects/DSS/issues. # 要求 DSS 框架的最新版本具有以下最低要求: * Java 8 或更高版本(已测试至 Java 25)是运行所必需的; * Java 11 或更高版本是构建所必需的。Java 15 是运行单元测试构建的最低要求; * Maven 3.6.3 或更高版本(如果需要构建); * 内存和磁盘:请参阅所用 JVM 的最低要求。通常可用资源越高越好; * 操作系统:没有特定要求(已在 Windows 和 Linux 上测试)。 从版本 `6.0` 开始,DSS 使用 `jakarta.*` 命名空间规范 API。如果您的应用程序使用 `javax.*` 命名空间,请使用版本 `5.13.1`。 # Maven 仓库 该版本已发布在 Maven Central 仓库: https://central.sonatype.com/search?q=eu.europa.ec.joinup.sd-dss

<!-- 添加 dss-bom 以便轻松集成 -->

<dependencyManagement>

    <dependencies>

        <dependency>

            <groupId>eu.europa.ec.joinup.sd-dss</groupId>

            <artifactId>dss-bom</artifactId>

            <version>6.4</version>

            <type>pom</type>

            <scope>import</scope>

        </dependency>

    </dependencies>

</dependencyManagement>



<!-- 添加所需模块(示例) -->

<dependencies>

    <dependency>

            <groupId>eu.europa.ec.joinup.sd-dss</groupId>

            <artifactId>dss-utils-apache-commons</artifactId>

    </dependency>

    <dependency>

            <groupId>eu.europa.ec.joinup.sd-dss</groupId>

            <artifactId>dss-xades</artifactId>

    </dependency>

    ...

</dependencies>

# 构建与使用

可以通过以下命令对 DSS Maven 项目进行简单构建:


```
mvn clean install
```


此安装过程将运行所有模块中的单元测试,这可能需要超过一个小时才能完成完整构建。

除了通用构建之外,该框架还提供了一组自定义配置文件,以允许自定义行为:

* quick - 禁用单元测试和 Java 文档验证,以便尽可能快速处理构建(耗时 1-2 分钟)。此配置文件不能用于主 DSS 构建(请参见下文);
* quick-init - 类似于 `quick` 配置文件。禁用所有模块的 Java 文档验证以及单元测试,但会排除某些依赖测试类的模块。可用于 DSS 的主构建;
* slow-tests - 执行所有测试,包括耗时的单元测试;
* owasp - 根据 [国家漏洞数据库 (NVD)](https://nvd.nist.gov) 运行项目及其依赖项的验证;
* jdk19-plus - 在 JDK 9 及更高版本上自动执行。提供对 JDK 8 的支持;
* spotless - 用于在项目文件中添加许可证头。

要使用特定配置文件运行构建,请执行以下命令:


```
mvn clean install -P *profile_name*
```


# 文档

[文档](dss-cookbook/src/main/asciidoc/dss-documentation.adoc) 和示例代码位于 dss-cookbook 模块中。提供了 [SoapUI 项目](dss-cookbook/src/main/soapui) 和 [Postman 项目](dss-cookbook/src/main/postman) 以说明 SOAP/REST 调用。

若要自行构建文档,请在 *dss-cookbook* 模块中执行以下命令:


```
mvn clean install -P asciidoctor
```


# JavaDoc

JavaDoc 可在 https://ec.europa.eu/digital-building-blocks/DSS/webapp-demo/apidocs/index.html 获取

# 演示

该版本已部署在 https://ec.europa.eu/digital-building-blocks/DSS/webapp-demo

演示源代码可在 https://github.com/esig/dss-demonstrations 获取

# 开箱即用的软件包

包含上述演示的软件包可从 [Maven 仓库](https://ec.europa.eu/digital-building-blocks/artifact/service/rest/repository/browse/esignaturedss/eu/europa/ec/joinup/sd-dss/dss-demo-bundle/) 下载。

演示代码可在 https://ec.europa.eu/digital-building-blocks/code/projects/ESIG/repos/dss-demos/browse 获取

# 许可证

DSS 项目根据 GNU 较宽松通用公共许可证(LGPL)版本 2.1 发布

[![License (LGPL version 2.1)](https://img.shields.io/badge/license-GNU%20LGPL%20version%202.1-blue.svg?style=flat-square)](https://opensource.org/licenses/LGPL-2.1)

SPDX-License-Identifier : LGPL-2.1

[![SonarCloud](https://sonarcloud.io/api/project_badges/measure?project=eu.europa.ec.joinup.sd-dss%3Asd-dss&metric=alert_status)](https://sonarcloud.io/dashboard?id=eu.europa.ec.joinup.sd-dss%3Asd-dss)
标签:API, CVE, Digital Signature Service, DSS, eSignature, Jakarta, Java 11, Java 15, Java 8, javax, JS文件枚举, Maven, 内存, 合规签名, 命名空间迁移, 域名枚举, 安全签名, 操作系统兼容性, 数字签名, 漏洞验证, 版本管理, 电子文档签名, 电子签名, 磁盘, 签名创建, 签名扩展, 签名服务, 签名框架, 签名验证, 高级电子签名