Java'da Apache'nin HTTPClient ile çalışıyorum ve graph.facebook.com adresine bağlanmaya çalışıyorum. "SSLPeerUnverifiedException: Akran sertifikası yok" hataları alıyorum, bu yüzden Facebook'un CA'sının varsayılan anahtar deposunda olmadığını düşünüyorum. Bu yüzden, güvenmek istediğim tüm sertifikalarla kendi anahtar depomu oluşturmam gerekiyor, evet? Bu yüzden sertifikası almak için aşağıdaki komutu bulundu: Bir zincirdeki tüm sertifikaların alınması; hem ara hem de kök
echo | openssl s_client -connect graph.facebook.com:443 2>&1 | \
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > mycert.pem
orada neler olduğunu bilmiyorum, ama işe yaradı gibi görünüyor. Belgeyi Bouncy Castle formatlı bir anahtar deposuna ekledim. Yeni anahtar deposunu kullanarak bir SSLSocketFactory oluşturdum, ancak hala çalışmıyor.
İlk tahminim, belki de zincirdeki tüm sertifikalara sahip değildim (görünüşte bu şeyler zincirlerde gelir). Peki sözde "ara" CA'ların söz konusu olup olmadığını nasıl anlarım? Ve bu sertifikaları nasıl alabilirim? Doğru yolda bile miyim?