374.3. 基本示例


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

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

在 Spring XML 中:

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

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

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

节点选择器 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 元素的父元素;有关更多详情,请参阅 parentLocalName 选项。

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.