374.3. 기본 예
다음 예제에서는 구성 요소의 기본 사용법을 보여줍니다.
from("direct:enveloping").to("xmlsecurity:sign://enveloping?keyAccessor=#accessor", "xmlsecurity:verify://enveloping?keySelector=#selector", "mock:result")
in Spring XML:
<from uri="direct:enveloping" /> <to uri="xmlsecurity:sign://enveloping?keyAccessor=#accessor" /> <to uri="xmlsecurity:verify://enveloping?keySelector=#selector" /> <to uri="mock:result" />
서명 프로세스의 경우 개인 키가 필요합니다. 이 개인 키를 제공하는 키 액세스자 빈을 지정합니다. 검증의 경우 해당 공개 키가 필요합니다. 이 공개 키를 제공하는 키 선택기 8080을 지정합니다.
키 액세스자 빈은 KeyAccessor
인터페이스를 구현해야 합니다. org.apache.camel.component.xmlsecurity.api
패키지에는 Java 키 저장소에서 개인 키를 읽는 기본 구현 클래스 DefaultKeyAccessor
가 포함되어 있습니다.
키 선택기 8080은 javax.xml.crypto.KeySelector
인터페이스를 구현해야 합니다. org.apache.camel.component.xmlsecurity.api
패키지에는 키 저장소에서 공개 키를 읽는 기본 구현 클래스 DefaultKeySelector
가 포함되어 있습니다.
이 예제에서는 기본 서명 알고리즘 http://www.w3.org/2000/09/xmldsig#rsa-sha1
이 사용됩니다. signatureAlgorithm
옵션으로 선택한 서명 알고리즘을 설정할 수 있습니다(아래 참조). 서명자 엔드포인트는 enveloping XML 서명을 생성합니다. 무명한 XML 서명을 만들려면 Signature 요소의 부모 요소를 지정해야 합니다. 자세한 내용은 parentLocalName
옵션을 참조하십시오.
분리된 XML 서명을 만들려면 하위 칩에서 "Detached XML Signatures as Siblings of the Signed Cryostat"를 참조하십시오.