74.5. 사용


74.5.1. 원시 키

교환에 서명하고 확인하는 가장 기본적인 방법은 다음과 같이 KeyPair를 사용하는 것입니다.

Spring XML Extensions 에서는 키에 대한 참조를 사용하여 동일한 작업을 수행할 수 있습니다.

74.5.2. 키 저장소 및 별칭.

JCE는 개인 키와 인증서의 하우징 쌍에 대해 매우 강력한 키 저장소 개념을 제공하여 암호화 및 비밀번호를 보호합니다. 검색 API에 별칭을 적용하여 검색할 수 있습니다. 키와 인증서를 키 저장소에 가져오는 방법은 여러 가지가 있으며, 대부분의 경우 외부 'keytool' 애플리케이션으로 수행됩니다. 예는 keytool을 사용하여 자체 서명된 인증서 및 개인 키로 KeyStore를 생성하는 좋은 예입니다.

예에서는 키 저장소와 'bob'로 별칭이 지정된 인증서가 사용됩니다. 키 저장소 및 키의 암호는 'letmein'입니다.

다음은 Fluent 빌더를 통해 키 저장소를 사용하는 방법을 보여줍니다. 키 저장소를 로드하고 초기화하는 방법도 보여줍니다.

Spring에서는 실제 키 저장소 인스턴스를 조회하는 데 ref가 사용됩니다.

74.5.3. JCE 공급자 및 알고리즘 변경

서명 알고리즘 또는 보안 공급자를 변경하는 것은 이름을 지정하는 간단한 문제입니다. 또한 선택한 알고리즘과 호환되는 키를 사용해야 합니다.

또는

74.5.4. 서명 메시지 헤더 변경

서명을 저장하는 데 사용되는 메시지 헤더를 변경하는 것이 바람직할 수 있습니다. 다음과 같이 경로 정의에 다른 헤더 이름을 지정할 수 있습니다.

또는

74.5.5. buffersize 변경

버퍼 크기를 업데이트해야 하는 경우

또는

74.5.6. 동적으로 키 제공.

수신자 목록 또는 유사한 EIP를 사용하는 경우 교환 수신자는 동적으로 다를 수 있습니다. 모든 수신자에서 동일한 키를 사용하는 것은 불가능하거나 바람직하지 않을 수 있습니다. 교환 기준으로 서명 키를 동적으로 지정할 수 있는 것이 유용합니다. 그런 다음 서명하기 전에 대상 수신자의 키로 교환을 동적으로 보강할 수 있습니다. 이러한 서명 메커니즘을 용이하게 하기 위해 아래의 메시지 헤더를 통해 동적으로 키를 제공할 수 있습니다.

  • Exchange.SIGNATURE_PRIVATE_KEY, "CamelSignaturePrivateKey"
  • Exchange.SIGNATURE_PUBLIC_KEY_OR_CERT, "CamelSignaturePublicKeyOrCert"

또는

키 저장소 별칭을 동적으로 제공하는 것이 좋습니다. 메시지 헤더에 별칭을 다시 제공할 수 있습니다.

  • Exchange.KEYSTORE_ALIAS, "CamelSignatureKeyStoreAlias"

또는

헤더는 다음과 같이 설정됩니다.

Exchange unsigned = getMandatoryEndpoint("direct:alias-sign").createExchange();
unsigned.getIn().setBody(payload);
unsigned.getIn().setHeader(DigitalSignatureConstants.KEYSTORE_ALIAS, "bob");
unsigned.getIn().setHeader(DigitalSignatureConstants.KEYSTORE_PASSWORD, "letmein".toCharArray());
template.send("direct:alias-sign", unsigned);
Exchange signed = getMandatoryEndpoint("direct:alias-sign").createExchange();
signed.getIn().copyFrom(unsigned.getOut());
signed.getIn().setHeader(KEYSTORE_ALIAS, "bob");
template.send("direct:alias-verify", signed);
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.