73장. 암호화(JCE) 구성 요소
Camel 버전 2.3에서 사용 가능
Camel 암호화 끝점 및 Java의 암호화 확장을 사용하면 교환용 디지털 서명을 쉽게 만들 수 있습니다. Camel은 교환 워크플로의 한 부분에서 교환에 대한 서명을 생성한 다음 워크플로의 뒷부분에서 서명을 확인하는 데 사용할 수 있는 유연한 엔드포인트 쌍을 제공합니다.
Maven 사용자는 이 구성 요소의 pom.xml
에 다음 종속성을 추가해야 합니다.
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-crypto</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
73.1. 소개
디지털 서명은 메시지에 서명하기 위해 Asymmetric Cryptographic 기술을 사용합니다. (알림) 높은 수준에서 알고리즘은 한 키로 암호화된 데이터가 다른 키로만 해독될 수 있다는 특수 속성과 함께 시운전 키 쌍을 사용합니다. 하나는 개인 키는 밀접하게 보호되고 다른 공개 키가 서명된 메시지를 확인하는 데 관심이 있는 모든 사용자에게 메시지를 '서명'하는 데 사용됩니다. 메시지는 개인 키를 사용하여 메시지 다이제스트를 암호화하여 서명됩니다. 이 암호화된 다이제스트는 메시지와 함께 전송됩니다. 다른 쪽에서는 검증기가 메시지 다이제스트를 다시 계산하고 공개 키를 사용하여 서명에서 다이제스트를 암호 해독합니다. 둘 다 다이제스트와 일치하는 경우 검증자는 개인 키의 홀더만 알고 있는 경우 서명을 생성할 수 있습니다.
Camel은 Java Cryptographic Extension의 Signature 서비스를 사용하여 교환 서명을 만드는 데 필요한 과도한 암호화 리프팅을 수행합니다. 다음은 암호화, 메시지 다이제스트 및 디지털 서명의 메커니즘과 JCE와 함께 활용하는 방법을 설명하기 위한 몇 가지 우수한 리소스입니다.
- BruceECDHEneier's Applied Cryptography
- David Hook의 Java로 암호화 시작
- 최근 볼 수 있는Webhook digital_signatures