[ pokazivac @ 10.12.2015. 20:42 ] @
Pokusavam jedan primjer enkripcije za pay pal prilagodit, al stalno dobivam gresku ERROR: encryption failed".
Ne vidim gdje bi mogla bit greska osim u ovoj OPENSSL naredbi, a posto mi to nije bas najjasnije tesko mi je rec di bi tu mogao biti problem. Ako moze netko da mi ispravi ovu naredbu da bude ispravna ili bar da mi objasni sta koji dio znaci pa mozda sam skuzim. ;)

S druge strane cini mi se lakse koristiti openssl naredbe u php-u
openssl_pkcs7_sign
openssl_pkcs7_encrypt
ali uvijek dobijam gresku kako ne moze pronaci putanju my_cert.pem, tako da se tu jos od pocetka nisam maknuo, iako mi ova sintaksa openssl_pkcs7_sign ( string $infilename , string $outfilename , mixed $signcert , mixed $privkey , array $headers
izgleda intuitivno. Imam input file, output file (ovo bi pretpostavljam radilo i s varijablama?) public_cert, my_cert, jedino mi nije jasno zasto su ovi headeri obvezni?




Code:
<HTML>
<?php
//Sample PayPal Button Encryption: Copyright 2006-2010 StellarWebSolutions.com
//Not for resale - license agreement at
//http://www.stellarwebsolutions.com/en/eula.php
//Updated: 2010 02 01

# private key file to use
$MY_KEY_FILE = "c:\\wamp\www\my-key.pem";

# public certificate file to use
$MY_CERT_FILE = "c:\\wamp\www\my-cert.pem";

# Paypal's public certificate
$PAYPAL_CERT_FILE = "c:\\wamp\www\paypal-cert.pem";

# path to the openssl binary
$OPENSSL = "C:\\wamp\\bin\\apache\\Apache2.2.21\\bin\\openssl.exe";
[ Tpojka @ 10.12.2015. 23:41 ] @
Jesi li probao bez duplih backslash-ova?
[ pokazivac @ 11.12.2015. 00:11 ] @
Probao.
Izgleda da mi je pojeo forum dio koda...
Code:
$openssl_cmd = "($OPENSSL smime -sign -signer $MY_CERT_FILE -inkey $MY_KEY_FILE " . "-outform der -nodetach -binary <<_EOF_\n$data\n_EOF_\n) | " . "$OPENSSL smime -encrypt -des3 -binary -outform pem $PAYPAL_CERT_FILE";
exec($openssl_cmd, $output, $error);

Htio sam u prethodnom postuu reci ea mislim da mi ovo javlja gresku
[ Tpojka @ 11.12.2015. 00:44 ] @
U C:\wamp\bin\apache\apache2.x.x direktorijumu se nalazi fajl OPENSSL-README.txt i vidi iz njega je li konfiguracija uredno postavljena.
[ Mister Big Time @ 12.12.2015. 17:02 ] @
Klizav teren ako ne znas sta radis.
PayPal ima definisana stroga pravila za API integraciju. Moras prvo to dobro prouciti pa tek onda krenuti u implementaciju.
Nisam siguran, ali moguce je da ocekuju da svi pozivi budu potpisani po (XML) DSIG protokolu.
Komande koje koristis kroz OpenSSL su za enkripciju, a sumnjam da oni ocekuju da zahtev bude kriptovan. Ocekuju da je potpisan.

Sve u svemu mnogo toga smrdi u tvom kodu, moras dati ceo primer ako mislis da ti neko pomogne.


[ pokazivac @ 15.12.2015. 06:53 ] @
Pa napisao sam bio cijeli kod, al mi ga je forum pojeo pola.
Al mislim da je kljucna ova nardba koju sam napisao u proslom postu. Ona radi i potpis i enkripciju, iako mi sintaksa nije bas jasna.
Napisem cijeli kod kad budem u mogucnosti, ali nema tu mnogo. Sacuvam neke varijable u ovo polje data i posaljemm ga u ovu openssl naredbu. I onda poslje to enkrptirano saljem u kodu. Tako to i traze u paypalu.