Estoy escribiendo un programa en el que invocamos un servicio web SOAP de terceros a través de HTTPS. Actualmente recibo un error en la etapa de protocolo de enlace de SSL y falla con el siguiente error: la cadena viola el límite de restricciones básicas.
El servidor web está enviando una cadena de certificados de la siguiente manera:
HOJA - I1 - I2 - I3
Mi código puede validar la cadena de la siguiente manera, ya que confié en todos los certificados, incluida la raíz:
HOJA - I1 - I2 - I3 - R
Sin embargo, el problema es que el Certificado Intermedio I3 tiene un pathLen
de 1
, pero tiene 2
de certificados intermedios entre el certificado Leaf (End-Entity) y el propio I3, lo que está causando el problema.
¿Cómo podría resolverse esto?
- ¿Debemos pedirle al proveedor / proveedor de servicios web SOAP que cambie la configuración del certificado en su extremo?
- Además, ¿cómo está el servidor incluso enviando una cadena que viola las restricciones?
Más información:
-
I1 (es decir, el CA intermedio 1) tiene DN
Entrust Certification Authority - L1K
El certificado se puede descargar desde aquí: Descargue I1 ("entrust_l1k.cer") desde Entrust Site
-
I2 (es decir, CA intermedia 2) tiene DN
CN=Entrust Root Certification Authority - G2, OU="(c) 2009 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US
El número de serie del certificado es
4a538c28
y el certificado se puede descargar desde aquí: Descargue I2 ("entrust_g2_ca.cer") desde Confíe en el sitioEs interesante que este certificado tiene el mismo DN y el mismo Emisor, pero probablemente no se trata como un certificado raíz porque probablemente no tiene el Identificador de clave de autorización = Identificador de clave del sujeto.
-
I3 (es decir, CA intermedia 3) tiene DN
CN=Entrust Root Certification Authority - G2, OU="(c) 2009 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US
El certificado I3 tiene el mismo DN que I2 y es el emisor de I2, pero I3 es emitido por una autoridad diferente, es decir, CA raíz, y tiene un número de serie
51d34044
. Este certificado también tienepathLen
de1
.No puedo encontrar este certificado en el sitio de confianza, por lo que estoy pegando el contenido aquí.
-----BEGIN CERTIFICATE----- MIIE/zCCA+egAwIBAgIEUdNARDANBgkqhkiG9w0BAQsFADCBsDELMAkGA1UEBhMC VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTE0MDkyMjE3MTQ1N1oXDTI0MDkyMzAx MzE1M1owgb4xCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgw JgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQL EzAoYykgMjAwOSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9u bHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 eSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuoS2ctueDGvi mekwAad26jK4lUEaydphTlhyz/72gnm/c2EGCqUn2LNf00VOHHLWTjLycooP94MZ 0GqAgABFHrDH55q/ElcnHKNoLwqHvWprDl5l8xx31dSFjXAhtLMy54ui1YY5ArG4 0kfO5MlJxDun3vtUfVe+8OhuwnmyOgtV4lCYFjITXC94VsHClLPyWuQnmp8k18bs 0JslguPMwsRFxYyXegZrKhGfqQpuSDtv29QRGUL3jwe/9VNfnD70FyzmaaxOMkxi d+q36OW7NLwZi66cUee3frVTsTMi5W3PcDwa+uKbZ7aD9I2lr2JMTeBYrGQ0EgP4 to2UYySkcQIDAQABo4IBDzCCAQswDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQI MAYBAf8CAQEwMwYIKwYBBQUHAQEEJzAlMCMGCCsGAQUFBzABhhdodHRwOi8vb2Nz cC5lbnRydXN0Lm5ldDAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3JsLmVudHJ1 c3QubmV0L3Jvb3RjYTEuY3JsMDsGA1UdIAQ0MDIwMAYEVR0gADAoMCYGCCsGAQUF BwIBFhpodHRwOi8vd3d3LmVudHJ1c3QubmV0L0NQUzAdBgNVHQ4EFgQUanImetAe 733nO2lR1GyNn5ASZqswHwYDVR0jBBgwFoAUaJDkZ6SmU4DHhmak8fdLQ/uEvW0w DQYJKoZIhvcNAQELBQADggEBAGkzg/woem99751V68U+ep11s8zDODbZNKIoaBjq HmnTvefQd9q4AINOSs9v0fHBIj905PeYSZ6btp7h25h3LVY0sag82f3Azce/BQPU AsXx5cbaCKUTx2IjEdFhMB1ghEXveajGJpOkt800uGnFE/aRs8lFc3a2kvZ2Clvh A0e36SlMkTIjN0qcNdh4/R0f5IOJJICtt/nP5F2l1HHEhVtwH9s/HAHrGkUmMRTM Zb9n3srMM2XlQZHXN75BGpad5oqXnafOrE6aPb0BoGrZTyIAi0TVaWJ7LuvMuueS fWlnPfy4fN5Bh9Bp6roKGHoalUOzeXEodm2h+1dK7E3IDhA= -----END CERTIFICATE-----
-
R (es decir, el certificado raíz) tiene DN
CN=Entrust Root Certification Authority, OU="(c) 2006 Entrust, Inc.", OU=www.entrust.net/CPS is incorporated by reference, O="Entrust, Inc.", C=US
.Este certificado tiene el número de serie
45 6b 50 54
y se puede descargar desde aquí: Descargue R ("entrust_ev_ca.cer") desde Confíe en el sitio
Más información
-
i1
$ openssl x509 -noout -fingerprint -in entrust_l1k.cer SHA1 Fingerprint=F2:1C:12:F4:6C:DB:6B:2E:16:F0:9F:94:19:CD:FF:32:84:37:B2:D7
-
i2
$ openssl x509 -noout -fingerprint -in entrust_g2_ca.cer SHA1 Fingerprint=8C:F4:27:FD:79:0C:3A:D1:66:06:8D:E8:1E:57:EF:BB:93:22:72:D4
-
i3
$ openssl x509 -noout -fingerprint -in i3.cer SHA1 Fingerprint=9E:1A:0C:35:E7:14:B6:97:92:D0:90:B2:CC:4B:BA:45:83:3C:30:15
-
R
$ openssl x509 -noout -fingerprint -in R.cer SHA1 Fingerprint=B3:1E:B1:B7:40:E3:6C:84:02:DA:DC:37:D4:4D:F5:D4:67:49:52:F9