> Java > java지도 시간 > 본문

XML 서명 확인을 위해 Java 파일에서 RSA 개인 키를 로드하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-10-25 09:42:28
원래의
736명이 탐색했습니다.

How to Load an RSA Private Key from a File in Java for XML Signature Verification?

Java의 파일에서 RSA 개인 키 로드

보안에 민감한 데이터를 처리할 때 디지털 데이터의 진위 여부를 확인하는 것이 중요합니다. 서명. 이 경우 작업은 파일에서 RSA 개인 키를 로드하여 XML 서명을 확인하는 것입니다.

이를 달성하려면 다음 단계를 따르세요.

1. 개인 키 파일을 바이트로 읽습니다.

<code class="java">String keyPath = "mykey.pem";
File privKeyFile = new File(keyPath);
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(privKeyFile));
byte[] privKeyBytes = new byte[(int) privKeyFile.length()];
bis.read(privKeyBytes);
bis.close();</code>
로그인 후 복사

2. 개인 키를 PKCS8 형식으로 변환(선택 사항)

개인 키가 아직 PKCS8 형식이 아닌 경우 다음 명령을 사용하여 변환합니다.

<code class="bash">openssl pkcs8 -topk8 -inform PEM -outform DER -in private_key_file -nocrypt > pkcs8_key</code>
로그인 후 복사

그런 다음 변환된 키를 읽습니다. 다음 코드를 사용합니다:

<code class="java">byte[] convertedPrivKeyBytes = Files.readAllBytes(Paths.get("pkcs8_key"));</code>
로그인 후 복사

3. RSA 개인 키 생성:

<code class="java">KeyFactory keyFactory = KeyFactory.getInstance("RSA");
KeySpec ks = new PKCS8EncodedKeySpec(convertedPrivKeyBytes);
RSAPrivateKey privKey = (RSAPrivateKey) keyFactory.generatePrivate(ks);</code>
로그인 후 복사

4. 디지털 서명 확인:

RSA 개인 키가 있으면 이를 사용하여 SAMLResponse 개체의 서명을 확인할 수 있습니다.

<code class="java">samlResponse.sign(Signature.getInstance("SHA1withRSA").toString(), privKey, certs);</code>
로그인 후 복사

다음 단계를 따르면 파일에서 RSA 개인 키를 성공적으로 로드하고 이를 사용하여 디지털 서명을 확인할 수 있습니다.

위 내용은 XML 서명 확인을 위해 Java 파일에서 RSA 개인 키를 로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!