Python Requests: CA paketleri verify içinde yer alır, cert içinde değil
Onaylanmış CA güven malzemesini doğrulama yapılandırmasına koyun; sertifika hatasını istemcinin özel anahtarı için bir istek olarak görmek yerine.
Bir iş arkadaşınız size kuruluşun CA sertifikasını verir. Requests, cert adlı bir parametre sunar. Adlar eşleşiyor gibi görünür, ancak farklı sorulara yanıt verirler.
| Ayar | Amaç |
|---|---|
verify | Karşı tarafı doğrulamak için kullanılan güven malzemesini seçer |
cert | İstemci kimlik doğrulaması gerektiğinde istemci sertifikasını özel anahtarıyla birlikte sunar |
Onaylanmış bir araya girme CA'sı için Requests işlemi amaçlanan CA paketini seçebilir:
response = requests.get(
'https://example.com/',
proxies=routes,
verify='/path/to/approved-ca-bundle.pem',
timeout=15,
)Burada routes uygulamanın mevcut proxy eşlemesidir. Yol, bu istemci için doğru okunabilir güven paketini adlandırmalıdır. Yalnızca bağlantı başarısız olduğu için seçilen indirilmiş bir web sitesi sertifikası değildir.
REQUESTS_CA_BUNDLE ortam değişkeni desteklenen başka bir güven girdisidir. Etkisiz görünüyorsa gerçek gönderme yolunu denetleyin; hazırlanmış istek iş akışları ve açık ayarlar ortam yapılandırmasının nasıl birleştirildiğini değiştirebilir.
CA'nın özel anahtarına ihtiyacınız olmamalı
Bir istemcinin onaylanmış bir veren kuruluşu tanıması için gereken şey ortak CA sertifikasıdır. İmzalama özel anahtarı başka bir tarafın güçlü sırrıdır. Rutin bir proxy güven onarımının parçası olarak uygulama kullanıcılarına dağıtılmamalıdır.
Bir istemci sertifikası hâlâ belirli bir hedef veya ayrı olarak yapılandırılmış başka bir TLS ilişkisi tarafından istenebilir. Bu ayrı bir gerekliliktir, her sertifika doğrulama hatasından çıkarılan bir şey değildir.
Bir sonraki hata göründüğünde işlemi adlandırın: CA dosyası yükleme, karşı taraf sertifikasını doğrulama veya istemci kimliğini sunma. Mesaj değişene kadar bir dosyayı verify ile cert arasında taşımak, rolünü seçmenin güvenilir bir yolu değildir.