373.3. 基本示例


以下示例显示了组件的基本用法。

from("direct:enveloping").to("xmlsecurity:sign://enveloping?keyAccessor=#accessor",
                             "xmlsecurity:verify://enveloping?keySelector=#selector",
                             "mock:result")
Copy to Clipboard Toggle word wrap

在 Spring XML 中:

<from uri="direct:enveloping" />
    <to uri="xmlsecurity:sign://enveloping?keyAccessor=#accessor" />
    <to uri="xmlsecurity:verify://enveloping?keySelector=#selector" />
<to uri="mock:result" />
Copy to Clipboard Toggle word wrap

对于签名过程,需要私钥。您可以指定一个提供此私钥的密钥访问者。对于验证,需要对应的公钥;您可以指定一个提供此公钥的密钥选择器为an。

密钥 accessor bean 必须实施 KeyAccessor 接口。软件包 org.apache.camel.component.xmlsecurity.api 包含默认的实施类 DefaultKeyAccessor,它从 Java 密钥存储读取私钥。

key selector bean 必须实施 javax.xml.crypto.KeySelector 接口。软件包 org.apache.camel.component.xmlsecurity.api 包含默认的实施类 DefaultKeySelector,它从密钥存储读取公钥。

在这个示例中,使用默认签名算法 http://www.w3.org/2000/09/xmldsig#rsa-sha1。您可以通过选项 signatureAlgorithm 设置您选择的签名算法(请参阅以下)。签名者端点 会创建一个信封 XML 签名。如果要创建 信封 XML 签名,您必须指定 Signature 元素的父元素;如需更多信息,请参阅 父LocalName 选项。

有关创建 分离的 XML 签名,请参阅子章节 "Detached XML Signatures as Sibling of the Signed Elements"。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat