내가 공공 - 민간 키 쌍을 생성하는 다음 Java 코드가 가정? 게시물 https://stackoverflow.com/a/1662887/414414은 DER
파일을 PEM
(Java에서도 공개 키를 저장한다고 가정)으로 변환하는 기능을 제공합니다.RSA 암호화, PHP
내가 좋아하는 뭔가를 시도했다 : 그것은 성공적으로 메시지를 해독
$key = openssl_pkey_get_public ("file://pub_key.pem");
$data = null;
openssl_public_decrypt (file_get_contents ("sig"), $data, $key);
echo $data, "\n";
을하지만, 많은 이상한 문자입니다.
이 시나리오는 PHP 서버로 메시지를 보내고 있지만 개인 키로 데이터를 암호화하는 Java 클라이언트입니다. PHP는 메시지의 암호를 해독하고 유효성을 검사하는 데 사용해야하는 공개 키를 알고 있습니다.
나는이 문제에 관해서 여기에서 많은 게시물을 읽었지만, 이것은 약간의 특정 문제, 특히 사용중인 다른 알고리즘 등이 있다는 것을 깨닫게되었습니다. 중복.
의견을 보내 주시면 대단히 감사하겠습니다. 당신이 잘못된 해독하는 것입니다 공개 키를 참조하는 것처럼 보이는 스 니펫
$key = openssl_pkey_get_public ("file://pub_key.pem");
에서
"메시지를 성공적으로 암호 해독했지만 이상한 문자가 많습니다." - 그것에 대해 더 구체적으로 말씀해 주시겠습니까? 단순히 인코딩 문제 일 수 있습니까? –
디코드 된 메시지가 원본 텍스트처럼 보이거나 완전히 왜곡되어 있습니까? –
Java와 PHP간에 전송 된 메시지를 확인하거나 암호화하려고합니까? 아니면 둘다? –