2010-04-24 4 views
1

RSA로 암호화되고 base_64로 인코딩되고 URL로 인코딩 된 로그인 데이터가 포함 된 로그인 URL이 필요한 웹 서비스를 호출해야합니다. 나는 공식적인 PHP 교육이 없지만, 나에게도 쉬운 일처럼 보입니다. 그러나 서비스를 호출 할 때 'Invalid Format'응답을 얻습니다. 내가 뭘 잘못하고 있으며 암호화 된 문자열을 찾는 또 다른 방법이 있습니까? 아래 코드 예제. 도와 줘서 고마워!PHP에서 RSA 암호화로 .NET 서비스에 전달하는 문제

require 'rsa.php'; // Uses rsa.php from http://www.edsko.net/misc/ for encryption. 

$message = '?id=112233&param1=hello&[email protected]&name=Name'; 

$keyLength = '2048'; 
$exponent = '65537'; 
$modulus = '837366556729991345239927764652........'; 
$encryptedData = rsa_encrypt($message, $exponent, $modulus, $keyLength); 
$data = urlencode(base64_encode($encryptedData)); 

$loginurl = 'http://www.somedomain.com/LoginWB.aspx?Id=9876&Data='.$data; 
echo '<iframe src="'.$loginurl.'" width="570px" height="800px">'; 
echo '</iframe>'; 

답변

0

암호화가 올바르게되어 있습니다. 서버가 '?'에 대해 불평하지 않고 있습니까? $message에 있습니까?

성능에 신경 쓰면 openssl 확장을 사용해야합니다. 공개 키 연산은 PHP에서 매우 느립니다.

+0

감사합니다. 나는 '?'에 대해 같은 생각을했다. 메시지에서 제거하고 제거하려고 시도했지만 여전히 동일한 오류가 발생합니다. openssl에서는 "pem"형식의 인증서가 필요합니다. 간단한 텍스트 키를 "pem"인증서로 변환하는 방법을 알고 있습니까? – user324973

관련 문제