374.5. 끝점 옵션
XML 보안 끝점은 URI 구문을 사용하여 구성됩니다.
xmlsecurity:command:name
다음 경로 및 쿼리 매개변수를 사용합니다.
374.5.1. 경로 매개변수 (2 매개변수):
이름 | 설명 | 기본 | 유형 |
---|---|---|---|
command | 서명 또는 확인할지 여부입니다. | XmlCommand | |
name | 필수 URI의 이름 부분은 사용자가 카멜 컨텍스트 내의 다양한 서명자/확인자 끝점을 구분하기 위해 선택할 수 있습니다. | 문자열 |
374.5.2. 쿼리 매개변수(35 매개변수):
이름 | 설명 | 기본 | 유형 |
---|---|---|---|
baseUri (공용) | URI 역참조에 사용되는 기본 URI를 설정할 수 있습니다. 그런 다음 상대 URI가 기본 URI와 연결됩니다. | 문자열 | |
clearHeaders (공용) | 서명 및 확인 후 XML 서명 특정 헤더를 지웁니다. 기본값은 true입니다. | true | 부울 |
cryptoContextProperties (공용) | crypto 컨텍스트 속성을 설정합니다. XMLCryptoContext#setProperty(String, Object) 링크를 참조하십시오. 가능한 속성은 XMLSignContext에 정의되어 있습니다(지원되는 속성 참조). 다음 속성은 기본적으로 XML 유효성 검사에 대해 부울#TRUE 값으로 설정됩니다. 이러한 기능을 해제하려면 속성 값을 부울#FALSE. org.jcp.xml.dsig.validateManifests javax.xml.crypto.dsig.cacheReference로 설정해야 합니다. | map | |
disallowDoctypeDecl (common) | 들어오는 XML 문서에 DTD DOCTYPE 선언이 포함되어 있음을 허용하지 않습니다. 기본값은 부울#TRUE입니다. | true | 부울 |
omit CryostatDec declaration ation (common) | 발신 메시지 본문의 XML 선언을 생략해야 하는지 여부를 나타냅니다. 기본값은 false입니다. CryostatSignatureConstants#HEADER_OMIT_ XML_DECLARATION 헤더로 덮어쓸 수 있습니다. | false | 부울 |
output CryostatEncoding (common) | 생성된 서명된 XML 문서의 문자 인코딩입니다. null인 경우 원래 XML 문서의 인코딩이 사용됩니다. | 문자열 | |
schemaResourceUri (common) | XML 스키마의 클래스 경로. ID 특성을 확인하기 위해 분리된 XML 서명 사례에서 지정해야 합니다. 이 경우는 enveld 및 enveloping 사례에서 설정될 수 있습니다. 설정된 경우 XML 문서는 지정된 XML 스키마로 검증됩니다. 스키마 리소스 URI는 CryostatSignatureConstants#HEADER_SCHEMA_RESOURCE_URI 헤더로 덮어쓸 수 있습니다. | 문자열 | |
동기 (고급) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
uriDereferencer (advanced) | 참조 URI를 통해 원격 액세스를 제한하려면 자체 역참조를 설정할 수 있습니다. 선택적 매개변수입니다. 공급자를 설정하지 않으면 URI 조각, HTTP, 파일 및 XPpointer URI를 확인할 수 있는 공급자 기본 역참조가 사용됩니다. 주의: 구현은 공급자에 따라 다릅니다! | URIDereferencer | |
addKeyInfoReference (sign) | KeyInfo 요소를 변조하지 못하도록 보호하려면 서명된 정보 요소에 대한 참조를 추가하여 서명 값을 통해 보호할 수 있습니다. 기본값은 true입니다. KeyAccessor에서 KeyInfo가 반환될 때만 관련되고 KeyInfo#getId()는 null이 아닙니다. | true | 부울 |
canonicalizationMethod (sign) | 다이제스트를 계산하기 전에 SignedInfo 요소를 표준화하는 데 사용되는 Canonicalization 메서드입니다. 도우미 메서드 CryostatSignatureHelper.getCanonicalizationMethod(String 알고리즘) 또는 getCanonicalizationMethod(String algorithm, List inclusiveNamespacePrefixes)를 사용하여 표준화 방법을 생성할 수 있습니다. | AlgorithmMethod | |
contentObjectId (sign) | 콘텐츠 오브젝트 Id 속성 값을 설정합니다. 기본적으로 UUID가 생성됩니다. null 값을 설정하면 새 UUID가 생성됩니다. enveloping 경우에만 사용됩니다. | 문자열 | |
contentReferenceType (sign) | 콘텐츠 참조 유형입니다. 기본값은 null입니다. 이 값은 CryostatSignatureConstants#HEADER_CONTENT_REFERENCE_TYPE 헤더로 덮어쓸 수 있습니다. | 문자열 | |
contentReferenceUri (sign) | 서명할 콘텐츠의 URI입니다. 사용 중인 경우에만 사용됩니다. 참조 URI에 ID 속성 값이 포함된 경우 스키마 유효성 검사기에서 ID 속성인지 확인하기 때문에 리소스 스키마 URI( setSchemaResourceUri(String))도 설정해야 합니다. enveloping 또는 detached case에서 무시됩니다. | 문자열 | |
digestAlgorithm (sign) | 다이제스트 알고리즘 URI. 선택적 매개변수입니다. 이 다이제스트 알고리즘은 입력 메시지의 다이제스트를 계산하는 데 사용됩니다. 이 다이제스트 알고리즘을 지정하지 않으면 다이제스트 알고리즘이 서명 알고리즘에서 계산됩니다. 예: http://www.w3.org/2001/04/xmlenc#sha256 | 문자열 | |
keyAccessor (서명) | 서명 프로세스의 경우 개인 키가 필요합니다. 이 개인 키를 제공하는 키 액세스자 빈을 지정합니다. 키 액세스자 빈은 KeyAccessor 인터페이스를 구현해야 합니다. org.apache.camel.component.xmlsecurity.api 패키지에는 Java 키 저장소에서 개인 키를 읽는 기본 구현 클래스 DefaultKeyAccessor가 포함되어 있습니다. | KeyAccessor | |
parentLocalName (sign) | XML 서명 요소가 추가될 부모 요소의 로컬 이름입니다. 지정된 XML 서명에만 적용됩니다. 또는 setParentXpath(XPathFilterParameterSpec)를 사용할 수도 있습니다. 기본값은 null입니다. XML 서명 및 분리된 XML 서명의 경우 값은 null이어야 합니다. 이 매개변수 또는 매개 변수 setParentXpath(XPathFilterParameterSpec)는 맞춤 서명에 대한 매개 변수 setXpathsToIdAttributes(List)를 동일한 구성에 설정하지 않아야 합니다. 매개 변수 parentXpath 및 parentLocalName이 동일한 구성에 지정되면 예외가 발생합니다. | 문자열 | |
parentNamespace (서명) | XML 서명 요소가 추가될 부모 요소의 네임스페이스입니다. | 문자열 | |
parentXpath (sign) | 지정된 사례에서 부모 노드를 찾기 위해 Cryostat를 설정합니다. 이 메서드를 통해 부모 노드를 지정하거나 setParentLocalName(String) 및 setParentNamespace(String) 메서드를 사용하여 부모 이름 및 네임스페이스를 지정합니다. 기본값은 null입니다. XML 서명 및 분리된 XML 서명의 경우 값은 null이어야 합니다. 매개 변수 parentXpath 및 parentLocalName이 동일한 구성에 지정되면 예외가 발생합니다. | XPathFilterParameter Spec | |
일반 텍스트 (서명) | 메시지 본문에 일반 텍스트가 포함되어 있는지 여부를 나타냅니다. 기본값은 false이며 메시지 본문에 XML이 포함되어 있음을 나타냅니다. 값은 CryostatSignatureConstants#HEADER_MESSAGE_IS_PLAIN_TEXT 헤더로 덮어쓸 수 있습니다. | false | 부울 |
일반 textEncoding (sign) | 일반 텍스트 인코딩. 메시지 본문이 일반 텍스트인 경우에만 관련이 있습니다(Parameter plain Cryostat 참조). 기본값은 UTF-8입니다. | UTF-8 | 문자열 |
prefixFor#187Signature Namespace (sign) | XML 서명 네임스페이스 http://www.w3.org/2000/09/xmldsig# 의 네임스페이스 접두사입니다. 기본값은 ds입니다. null 또는 빈 값이 설정되면 XML 서명 네임스페이스에 접두사가 사용되지 않습니다. http://www.w3.org/TR/xmldsig-bestpractices/#signing-xml- 네임스페이스 없이 모범 사례 보기 | ds | 문자열 |
속성 (서명) | 추가 속성이 포함된 XML 서명에 참조 및 개체를 추가하기 위해 CryostatSignatureProperties 인터페이스를 구현하는 PEM을 제공할 수 있습니다. | XmlSignatureProperties | |
signatureAlgorithm (sign) | 서명 알고리즘. 기본값은 http://www.w3.org/2000/09/xmldsig#rsa-sha1 입니다. | 문자열 | |
signatureId (sign) | 서명 ID를 설정합니다. 이 매개변수가 설정되지 않은 경우(null 값) 서명 ID(기본값)에 대한 고유 ID가 생성됩니다. 이 매개 변수가 (빈 문자열)로 설정된 경우 signature 요소에 Id 특성이 생성되지 않습니다. | 문자열 | |
transformMethods (sign) | 다이제스트를 계산하기 전에 메시지 본문에서 실행되는 변환입니다. 기본적으로 C14n이 추가되고 서명의 경우( parentLocalName 참조) http://www.w3.org/2000/09/xmldsig#enveloped-signature 도 목록의 위치에 추가됩니다. CryostatSignatureHelper의 메서드를 사용하여 변환 방법을 생성합니다. | list | |
xpathsToIdAttributes (sign) | XPATH 표현식을 통해 ID 속성(유형 ID의 속성)을 통해 분리된 경우에 서명된 요소를 정의합니다. XPATH 표현식을 통해 발견된 각 요소에 대해 참조 URI에 해당 특성 값이 포함된 분리된 서명이 생성됩니다('#'). 서명이 서명된 요소의 마지막 형제가 됩니다. 계층 수준이 높은 요소는 먼저 서명됩니다. CryostatSignatureConstants#HEADER_XPATHS_TO_ID_ATTRIBUTES 헤더를 통해 XPATH 목록을 동적으로 설정할 수도 있습니다. 서명에 대한 setParentLocalName(String) 또는 setParentXpath(XPathFilterParameterSpec) 매개변수는 동일한 구성에 설정해서는 안 됩니다. | list | |
keySelector (verify) | XML 서명의 유효성을 검증하기 위한 키를 제공합니다. | KeySelector | |
outputNodeSearch (verify) | 출력 메시지 본문으로 설정되어야 하는 XML 서명 문서에서 노드를 결정하는 출력 노드 검색 값을 설정합니다. 값의 클래스는 출력 노드 검색 유형에 따라 다릅니다. 출력 노드 검색은 CryostatSignature2Message로 전달됩니다. | 문자열 | |
outputNodeSearchType (verify) | 출력 메시지 bodyF로 직렬화되는 출력 노드를 결정하는 검색 유형을 결정합니다. setOutputNodeSearch(Object)를 참조하십시오. 지원되는 기본 검색 유형은 Default CryostatSignature2Message에서 찾을 수 있습니다. | 기본 | 문자열 |
removeSignature Cryostats (verify) | XML 서명 요소(로컬 이름 서명 및 이름apce http://www.w3.org/2000/09/xmldsig#가 있는 요소)가 출력 메시지로 설정된 문서에서 제거되어야 하는지 여부를 나타냅니다. 일반적으로 이 작업은 XML 서명이 있는 경우에만 필요합니다. 기본값은 부울#FALSE입니다. 이 매개변수는 CryostatSignature2Message로 전달됩니다. 이 표시는 출력 노드 검색 유형이 Default CryostatSignature2Message#OUTPUT_NODE_SEARCH_TYPE_DEFAULT.F인 경우 적용되지 않습니다. | false | 부울 |
SecurityValidation (verify) | 보안 검증을 활성화합니다. true인 경우 보안 검증이 활성화됩니다. | true | 부울 |
validationFailedHandler (확인) | 다양한 검증 실패 상황을 처리합니다. 기본 구현에서는 다양한 상황에 대한 특정 예외를 발생시킵니다(모든 예외에는 패키지 이름 org.apache.camel.component.xmlsecurity.api가 있으며 CryostatSignatureInvalidException의 하위 클래스입니다. 서명 값 유효성 검사가 실패하면 CryostatSignatureInvalidValueException이 발생합니다. 참조 유효성 검사가 실패하면 CryostatSignatureInvalidContentHashException이 발생합니다. 자세한 내용은 JavaDoc을 참조하십시오. | ValidationFailedHandler | |
xmlSignature2Message (verify) | validation 후 XML 서명을 output-message에 매핑하는 Quarkus입니다. outputNodeSearchType, outputNodeSearch 및 removeSignature Cryostats 옵션으로 이 매핑을 수행하는 방법을 구성할 수 있습니다. 기본 구현에서는 세 가지 출력 노드 검색 유형 Default, ElementName 및 Cryostat와 관련된 세 가지 가능성을 제공합니다. 기본 구현에서는 검색 유형이 ElementName인 경우 검색 노드가 검색 값에 정의된 로컬 이름 및 네임스페이스에 따라 결정됩니다(옵션 outputNodeSearch 참조).If the search type is ElementName then determines a node which is then serialized and set to the body of the output type is ElementName then the output node (which must be in this case an element) is determined by the local name and namespace defined in the search value (see option outputNodeSearch). 검색 유형이 Cryostat인 경우 출력 노드는 검색 값에 지정된 Cryostat에 의해 결정됩니다(이 경우 출력 노드는 Element, textNode 또는 Document 유형일 수 있음). 출력 노드 검색 유형이 Default인 경우 다음 규칙이 적용됩니다. XML 서명 케이스에는 URI=가 포함된 참조가 있고 http://www.w3.org/2000/09/xmldsig#enveloped-signature변환이 있음), Signature 요소가 없는 들어오는 XML 문서는 출력 메시지 본문으로 설정됩니다. 비enveloped XML 서명 사례에서 메시지 본문은 참조된 오브젝트에서 결정됩니다. 이는 XML 서명 케이스의 출력 노드 결정 장에 자세히 설명되어 있습니다. | XmlSignature2Message | |
xmlSignatureChecker (verify) | 이 인터페이스를 사용하면 유효성 검사가 실행되기 전에 애플리케이션에서 XML 서명을 확인할 수 있습니다. 이 단계는 http://www.w3.org/TR/xmldsig-bestpractices/#check-what-is-signed에서 권장됩니다. | XmlSignatureChecker |