Einzelnen Beitrag anzeigen

v4t0r

Registriert seit: 17. Mr 2008
2 Beitrge
 
#1

SSL aus PHP in Delphi exportieren

  Alt 17. Mr 2008, 16:28
Hallo zusammen,

ich habe die Aufgabe bekommen, fr einen Shop weitergeleitete Anfragen via der Delphi IntraWeb Komponente zu bearbeiten. Hierbei bekomme ich von dem auf PHP basierenden Shop den mit SSL verschlsselten Satz, der dann mit dem Public Key auf meiner Seite entschlsselt werden soll. Mit dem Beispiel in PHP funktioniert das auch prima, nur ist es mir leider noch nicht gelungen das ganze auch in Delphi zu realisieren.. Ich MUSS es auch in Delphi hinbekommen , so lautet leider die Aufgabe.
Hat vielleicht jemand eine Idee, oder weiss ob das generell mglich ist?

Probiert habe ich es bisher mit den Indy-Componenten IdSSLIOHandlerSocket, IdServerIOHandlerSSL, IdDecoderMIME...
Habe auch OpenSSL usw installiert.

Hier die function in PHP


Code:
function decryptX509($cryptInput,$productName)
{
   $debug="1";
   $exportValues=array();
   if ($debug=="1")
   {
      echo "Input:
$cryptInput

";
   }
   $cryptDecoded=base64_decode($cryptInput);
   if ($debug=="1")
   {
      echo "Umwandlung:
$cryptDecoded

";
      echo "<hr>";
   }

   $fp=fopen ("certificate.cer","r");
   $pub_key=fread($fp,8192);
   fclose($fp);
   openssl_public_decrypt($cryptDecoded,$newSource,$pub_key);
   $newSource=utf8_decode($newSource);
   $transferedValues=array();
   $transferedValues=explode("&",$newSource);
   .
   .
   foreach ($transferedValues as $key => $value)
   {
      $singleValue=explode("=",$value);
      $singleValue[1]=utf8_decode(urldecode($singleValue[1]));
      
      if ($debug=="1")
      {
          echo "Variablenname: ".$singleValue[0]." - Wert: ".$singleValue[1]."
";
      }
      $$singleValue[0]=$singleValue[1];
      $exportValues[$singleValue[0]]=$singleValue[1];      
      
   }
ein erfolgreiches Beispiel she etwa so aus:
Code:
Input:
9WmmPlsmBWBbtnIrw4VGL6nhilWOh6IuP3DDkswARnAfyvKvw8i9oqtmlcI8Y6VwETnJ
sQTnAF/5B5FzJ4kLmdm3mPXfKaMepgHIs1httUSpPewTKVtIsuAxDL+8amtV/HGhfgxMP kQgyaUUbI6g7/M6mujoRN3VFuc1oFk4U2R2RJWWuwvsO/ccMAGe+C1uSotPJPjzdGd1lk Euqp/QuQ9SIHBseWMxf1Iwnh2Tcd+qCfk8VRzXcMxl13GFSaG4+N/f+qNVmJGMA==

Umwandlung:
ZɁX휊Qxbc٥p\Nrpc&#65533;_s$L7M+,+hǩr,mQ*O{7uEhN%eR&#65533;䨴O7FwYd "ǖ3# 7 HMblPܪuV Zô$l9~OG53uaRhn>;VbF0

Variablenname: anrede - Wert: keine
Variablenname: name - Wert: Muster
Variablenname: vorname - Wert: Max
Variablenname: email - Wert: [email]max@must.er[/email]
Variablenname: rolle - Wert: 9
Variablenname: benId - Wert: 1111111
Variablenname: blz - Wert: 1111111
Variablenname: time - Wert: 1195128135
Variablenname: produkt - Wert: leiterr
  Mit Zitat antworten Zitat