74장. 암호화 CMS 구성 요소


Camel 버전 2.20에서 사용 가능

CMS(Cryptographic Message Syntax) 는 메시지 서명 및 암호화에 적합한 표준입니다. ApacheECDHE CMS 구성 요소는 이 표준의 다음 부분을 지원합니다. * * Key Transport (asymmetric key)를 사용하여 콘텐츠 유형 "Enveloped Data", * 콘텐츠 유형 "Signed Data"를 사용합니다. CMS Enveloped Data 인스턴스를 생성하고, CMS Enveloped Data 인스턴스를 해독하고, CMS 서명 데이터 인스턴스를 생성하고, CMS 서명 데이터 인스턴스를 검증할 수 있습니다.

구성 요소는 Bouncy Castle 라이브러리 bcprov-jdk18on 및 bcpkix-jdk18on을 사용합니다.

Maven 사용자는 이 구성 요소의 pom.xml 에 다음 종속성을 추가해야 합니다.

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-crypto-cms</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>
Copy to Clipboard Toggle word wrap

이 구성 요소의 끝점을 호출하기 전에 애플리케이션에 Bouncy Castle 보안 공급자를 등록하는 것이 좋습니다.

Security.addProvider(new BouncyCastleProvider());
Copy to Clipboard Toggle word wrap

Bouncy Castle 보안 공급자가 등록되지 않은 경우ECDHE CMS 구성 요소가 공급자를 등록합니다.

74.1. 옵션

4.6.1 CMS 구성 요소는 아래에 나열된 3 가지 옵션을 지원합니다.

Expand
이름설명Default유형

signedDataVerifier 구성 (advanced)

확인 작업에 대한 uri 매개변수를 결정하는 공유 SignedDataVerifierConfiguration을 구성하려면 다음을 수행합니다.

 

SignedDataVerifier 구성

dvancedDataDecryptor 설정 (advanced)

암호 해독 작업에 대한 uri 매개변수를 결정하는 공유 EnvelopedDataDecryptorConfiguration을 구성하려면 다음을 수행합니다.

 

EnvelopedDataDecryptor Configuration

resolvePropertyECDHEholders (advanced)

구성 요소가 시작할 때 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders.

true

boolean

ECDHE CMS 끝점은 URI 구문을 사용하여 구성됩니다.

crypto-cms:cryptoOperation:name
Copy to Clipboard Toggle word wrap

다음 경로 및 쿼리 매개변수를 사용합니다.

74.1.1. 경로 매개변수 (2 매개변수):

Expand
이름설명Default유형

cryptoOperation

필수 엔드 포인트 uri의 암호화 체계 이후에 제공 된에서ECDHE 작업 (예: crypto-cms:sign sets) 작업으로 서명합니다. 가능한 값은 sign, verify, encrypt 또는 decrypt입니다.

 

ECDHEOperation

name

필수 URI의 이름 부분은 사용자가 camel 컨텍스트 내에서 다른 서명자/verifier/encryptor/decryptor 끝점을 구분하도록 선택할 수 있습니다.

 

문자열

74.1.2. 쿼리 매개변수(15 매개변수):

Expand
이름설명Default유형

keyStore (common)

서명자 개인 키, 검증기 공개 키, 암호화 키, 작업에 따라 개인 키 암호 해독이 포함된 키 저장소입니다. 이 매개변수 또는 'keyStoreParameters' 매개변수를 사용합니다.

 

KeyStore

keyStoreParameters (common)

서명자 개인 키, 검증기 공개 키, 암호화 키, 작업에 따라 개인 키 암호 해독이 포함된 키 저장소입니다. 이 매개변수 또는 'keystore' 매개변수를 사용합니다.

 

KeyStoreParameters

동기 (고급)

동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리(지원되는 경우)를 사용할 수 있는지 여부를 설정합니다.

false

boolean

비밀번호(암호 해독)

개인 키의 암호를 설정합니다. 키 저장소에 있는 모든 개인 키의 암호가 동일합니다. 설정하지 않으면 KeyStoreParameters에 지정된 키 저장소 암호에서 개인 키의 암호가 제공되는 것으로 가정합니다.

 

Char[]

Base64 (decrypt_verify)

true인 경우 CMS 메시지는 기본 64로 인코딩되며 처리 중에 디코딩해야 합니다. 기본값은 false입니다.

false

부울

contentEncryptionAlgorithm (encrypt)

암호화 알고리즘(예: DESede/CBC/PKCS5Padding) 가능한 추가 값: DESede/CBC/PKCS5Padding, AES/CBC/PKCS5Padding, Camellia/CBC/PKCS5Padding, CAST5/CBC/PKCS5Padding

 

문자열

originatorECDHE Provider (암호화)

발신자 정보에 대한 공급자입니다. https://tools.ietf.org/html/rfc5652#section-6.1 을 참조하십시오. 기본값은 null입니다.

 

OriginatorECDHE 공급자

수신자 (암호화)

수신자 정보: 인터페이스 org.apache.camel.component.crypto.cms.api.TransRecipientInfo를 구현하는 DestinationRule에 대한 참조

 

list

secretKeyLength (암호화)

콘텐츠 암호화에 사용되는 시크릿 대칭 키의 키 길이입니다. 지정된 콘텐츠 암호화 알고리즘에서 다른 크기의 키를 허용하는 경우에만 사용됩니다. contentEncryptionAlgorithm=AES/CBC/PKCS5Padding 또는 Camellia/PKCS5Padding 다음 128; contentEncryptionAlgorithm=DESede/CBC/PKCS5Padding인 경우, AES에 대해 강력한 암호화가 활성화된 경우 128 /CBC/PKCS5Padding 및 Camellia/CBC/PKCS5Padding도 키 길이 192 및 256을 사용할 수 있습니다.

 

int

보호되지 않은Attributes generatorProvider (암호화)

보호되지 않은 특성을 위한 생성기 공급자입니다. 기본값은 null이므로 보호되지 않은 속성이 Enveloped Data 오브젝트에 추가되지 않음을 의미합니다. https://tools.ietf.org/html/rfc5652#section-6.1 을 참조하십시오.

 

AttributesGenerator 공급자

toBase64 (encrypt_sign)

서명된 데이터 또는 Enveloped Data 인스턴스가 64로 인코딩되어야 하는지 여부를 나타냅니다. 기본값은 false입니다.

false

부울

includeContent (sign)

서명된 콘텐츠를 서명된 데이터 인스턴스에 포함할지 여부를 나타냅니다. false인 경우 서명된 분리된 데이터 인스턴스가 CamelCryptoCmsSignedData 헤더에 생성됩니다.

true

부울

서명자( signer )

서명자 정보: org.apache.camel.component.crypto.cms.api.SignerInfo를 구현하는ECDHE에 대한 참조

 

list

signedDataHeaderBase64 (verify)

CamelCryptoCmsSignedData 헤더의 값이 base64 인코딩인지 여부를 나타냅니다. 기본값은 false입니다. 분리된 서명에만 관련이 있습니다. 분리된 서명 케이스에서 헤더에는 서명 데이터 오브젝트가 포함됩니다.

false

부울

verifySignaturesOfAll Signers (verify)

true인 경우 서명된 데이터 개체에 포함된 모든 서명자의 서명이 확인됩니다. false인 경우 서명자 정보가 지정된 인증서 중 하나와 일치하는 서명이 확인됩니다. 기본값은 true입니다.

true

부울

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat