No parece haber mucha información en profundidad sobre el proceso de firma de certificados que no sea:
-
Guía de uso del protocolo de interoperabilidad de gestión de claves versión 1.2 (PDF)
-
RFC 2986 - PKCS # 10: Especificación de sintaxis de solicitud de certificación, Versión 1.7
Aquí hay un ejemplo de CSR que creé:
-----BEGIN CERTIFICATE REQUEST-----
MIIC3zCCAccCAQAwaTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRQwEgYDVQQH
EwtMb3MgQW5nZWxlczEQMA4GA1UEChMHRXhhbXBsZTELMAkGA1UECxMCQ0ExGDAW
BgNVBAMTD2Nzci5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBALsbtWr46Mx8Loal+tKuAFzKHDmzBNr1DG1XlKuO32oVekJW8rkSXdIt
i90g2Bpl9yS8ndFt9djI+Jx0YZp2BnErAbriX7PXXLY13tj3OmO0f8JEAv/5HOaL
qYl79Mr03prhjyTZrlxSPsFuuXfy+arErNet7sqkOua7iexpC6Vx0CTL/YGjzEG3
PA3zAdqKMWnHruSzyAExf/NocLTJ8OdvvAIh2MP79ga8MRtXdM/nEIs6xgnd9B1c
I2mkS0gK7yFCKISZpeSusLJB9SplaOLiH0FBAzslek5WkMVs4AiEahieOMOFtyYR
8v3rKSNvSQW0y29M71AjQq9CA69VrVUCAwEAAaAxMC8GCSqGSIb3DQEJDjEiMCAw
CQYDVR0TBAIwADATBgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG9w0BAQUFAAOC
AQEAGRIzq4nE7KhNZ5vt85gfw6BLM887G/W2A679cXzH7nSjL0Hmr7dii891ak8v
AzgwLKYn6sRBA+cN1bidExcb49v8G7TMOIBxhZjlEewgouBRBZMtNxSJFhD7TSrr
uj7r/tudnztqIjfYL9cXo+MuoGHsGJcXoBSQBIE8jheEUdaAA2LFVaLL+3lQgylL
14iCuY6DR1bF51lZP0zSqdba+mFvAVpspZfcrVClYqsf/xfkiHH7Rx1pz4sDCKTt
WV/7YHDxGXwIjIxkhEwuMX+zz3rO++jy+iBTXnFVwfPogcbLDmcFM/j4JPxuVz4a
nx5Y3pWKymuKNQ58BAguzF+tmA==
-----END CERTIFICATE REQUEST-----
Pegué lo anterior en certlogik.com y eché un vistazo a la salida.
Si lo comprendo correctamente, 4 componentes formarán CertificationRequestInfo
:
- Versión
- Asunto
- Información de clave pública
- Atributos
Supongo que al usar SHA1 o SHA2, el CertificationRequestInfo
se revisa y la salida de hash se cifra mediante la clave privada de la computadora que está creando el CSR.
Cuando llega a la CA, la CA toma el CertificationRequestInfo
y ejecuta un hash en él. Luego, también toma el valor cifrado e intenta descifrarlo utilizando la clave pública en el CSR. Si la salida de hash y la salida de hash descifrada coinciden, la CA firmará el CSR.
Por favor corríjame si me equivoco con lo anterior. En este punto, estoy confundido con respecto a qué datos firma realmente la CA (qué datos la CA hace un hash y luego los encripta).