Nuestro software contiene dos ejecutables que necesitan servir datos a través de SSL (y varios que necesitan hacer solicitudes a través de HTTPS).
Observo que se distribuye con algunos archivos .PEM creados con OpenSSL. El software lee estos archivos cuando necesita consumir o servir a través de HTTPS.
El segundo archivo dice: COMENZAR CLAVE PRIVADA CIFRITADA
Pregunta: Si las claves privadas nunca deberían distribuirse, ¿está bien distribuir la versión cifrada? ¿Corremos algún riesgo con eso?
He leído ¿Es una mala práctica agregar una clave privada encriptada al control de fuente? , pero todavía no estoy claro si otros pueden hacer algo malicioso (falsificación) con esa clave privada encriptada.
(Por cierto, hay un tercer certificado intermedio debido al problema de RapidSSL Los certificados no son de confianza en Android , pero eso parece irrelevante para la pregunta).
Primer archivo
Encabezado:
Bag Attributes
localKeyID: 01 00 00 00
friendlyName: TimeTellbv wildcard
subject=/serialNumber=34VD79pOnKBR2dM5LC69jkD7PGuRM6VC/OU=GT04962750/OU=See www.rapidssl.com/resources/cps (c)13/OU=Domain Control Validated - RapidSSL(R)/CN=*.timetellbv.nl
issuer=/C=US/O=GeoTrust, Inc./CN=RapidSSL CA
-----BEGIN CERTIFICATE-----
Convertido a texto con
c:\OpenSSL-Win32\bin\openssl x509 -in tt_https.pem -inform PEM -noout -text >tt_https.txt
se lee:
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 962889 (0xeb149)
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=US, O=GeoTrust, Inc., CN=RapidSSL CA
Validity
Not Before: Oct 23 04:44:55 2013 GMT
Not After : Oct 25 11:45:46 2016 GMT
Subject: serialNumber=34VD79pOnKBR2dM5LC69jkD7PGuRM6VC, OU=GT04962750, OU=See www.rapidssl.com/resources/cps (c)13, OU=Domain Control Validated - RapidSSL(R), CN=*.timetellbv.nl
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:d4:a4:bf:b9:bb:cf:f9:e9:88:95:f3:e5:c7:b9:
[snip]
e7:27
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Authority Key Identifier:
keyid:6B:69:3D:6A:18:42:4A:DD:8F:02:65:39:FD:35:24:86:78:91:16:30
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
X509v3 Subject Alternative Name:
DNS:*.timetellbv.nl, DNS:timetellbv.nl
X509v3 CRL Distribution Points:
Full Name:
URI:http://rapidssl-crl.geotrust.com/crls/rapidssl.crl
X509v3 Subject Key Identifier:
CA:86:AC:B6:13:D3:96:F8:60:5F:DF:B2:F6:FA:28:E0:75:30:DB:D0
X509v3 Basic Constraints: critical
CA:FALSE
Authority Information Access:
OCSP - URI:http://rapidssl-ocsp.geotrust.com
CA Issuers - URI:http://rapidssl-aia.geotrust.com/rapidssl.crt
X509v3 Certificate Policies:
Policy: 2.16.840.1.113733.1.7.54
CPS: http://www.geotrust.com/resources/cps
Signature Algorithm: sha1WithRSAEncryption
56:b9:59:c1:ed:d1:a5:84:2a:ce:96:14:0e:ad:db:fc:80:80:
[snip]
c7:7c:10:fb
Segundo archivo
Encabezado:
Bag Attributes
Microsoft Local Key set: <No Values>
localKeyID: 01 00 00 00
friendlyName: le-0f8807ed-4cbe-43a6-84a9-94ef82e3fd39
Microsoft CSP Name: Microsoft RSA SChannel Cryptographic Provider
Key Attributes
X509v3 Key Usage: 10
-----BEGIN ENCRYPTED PRIVATE KEY-----
La conversión al formulario de texto falla:
c:\OpenSSL-Win32\bin\openssl x509 -in tt_https_key.pem -inform PEM -noout -text >tt_https_key.txt
unable to load certificate
2180:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_lib
.c:696:Expecting: TRUSTED CERTIFICATE