2016-03-22 21 views
0

Sertifikayı sabitlemek için CURLOPT_PINNEDPUBLICKEY kullanıyorum. Ayrıca CURLOPT_SSL_VERIFYPEER öğesini 1 ve CURLOPT_SSL_VERIFYHOST olarak dokümanlar bölümünde belirtildiği gibi ayarladım.CURLOPT_PINNEDPUBLICKEY

Hedef sunucunun sertifika dosyasını aldım ve CURLOPT_PINNEDPUBLICKEY için curl belgelerinde belirtildiği gibi sha256 base64 dizesini oluşturdum. Geçerli sha dizesini "sha256 // sddgdSDFSQWbGGRFr9rugEih7jghJwjj0xqcvbo =" olarak ayarlamak veya bu dizede birkaç karakteri değiştirmek ve PINNEDPUBLICKEY olarak ayarlamak başarılı olmak için curl çağrısıyla sonuçlanır. CURLE_SSL_PINNEDPUBKEYNOTMATCH hatasıyla sonuçlanacak geçersiz sha bekliyordum. Ama öyle olmadı.

Sertifikayı krom tarayıcıdan der dosyasına ve pem dosyasına kaydettim ve curl opt PINNEDPUBLICKEY yolunu verdim. Hala geçerli anahtar ve geçersiz anahtar, her ikisi de başarı ile sonuçlanır.

Geçersiz bir dizgede hata var mı? PINNEDPUBLICKEY çalışıp çalışmadığından emin değilim. Bir şeyleri kaçırıyor olabilir miyim? Herhangi bir girdi çok yardımcı olacaktır.

teşekkürler sorunumun

+0

libcurl hatası olabilir, başka bir şey olabilir ... –

+0

fwiw: libcurl 7.42 sürümünü kullanıyorum. Bir sürüm yükseltme sorunu olup olmadığını merak ediyorum. – Swtsvn

+0

Bunu yerine curl-library listesine almak isteyebilirsiniz. İşlev (yanlış tutturulmuş anahtar kullanılarak), btw'nin curl's 2035 testinde doğrulanmıştır. –

cevap

0

Çözüm: Ben 7,42 den 7.48 benim bukle kütüphane yükseltmek gerekiyordu. Bu sorunu giderdi ve yanlış bir ortak anahtar için beklediğim uygun hata kodunu sağladı.