PHP'de şifrelenmiş bir SOAP isteği oluşturamıyorum. Dokümantasyona göre, her isteği ödeme ağ geçidine şifreledim. Sertifika yetkilisine CSR & gönderdim. Bana & CA sertifikası alan sertifikasını geri gönderdiler. En büyük sorun, belgelerin PHP için kullanılmamasıdır. Belgenin gereğince:php'de her bir sabun isteğinin şifrelenmesi nasıl yapılır?
The web service is protected with WS-Security Sign and encryption policy
uzun bir süre arama yaptıktan sonra buldum bir helper class from Git ama aşağıdaki hatayı alıyorum bağlanmayı deneyin her zaman:
Genel güvenlik hatası (Yok sertifikalar şifre çözme için bulunmuştur (KeyID)
FaultCode : wsse:InvalidSecurity
aşağıdaki gibi) ben SSL başlığı ayarlamak çalıştı:
$contextOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'cafile' => '../../certs/CA.cer',
'local_cert' => '../../certs/server.cer',
'local_pk' => '../../certs/private_key.key',
'verify_depth' => 0,
'allow_self_signed'=>true,
)
);
$sslContext = stream_context_create($contextOptions);
Bu tanımda (bakınız yukarıdaki GIT bağlantı) ile yanlış
define('PRIVATE_KEY', 'server_prvate_key.key');
define('CERT_FILE', 'domain_cert.cer');
define('SERVICE_CERT', 'CA.cer');
şey:
Güncelleme
Ben anahtarları tanımlandığı?
'cer' /' key' dosyaları/yolu var mı? Http://stackoverflow.com/questions/7147988/creating-a-php-soap-request-with-a-certificate –
@GabrielHeming Evet'e bir göz attınız mı? Dosyalar var – Shan
Anahtarınız ve sertifikalarınızın tam yolunu tanımlamanız gerekir, bu yardımcı sınıfın hangi klasörde olduğunu tahmin etmeyecekleri – Capsule