TLDR: el formato 'PEM' solo usa la parte entre las líneas BEGIN y END discontinuas
El llamado formato PEM utilizado por muchos programas criptográficos ha evolucionado un poco con el tiempo y no es completamente estándar. RFC7468 (en 2015) documenta y describe algunas de las variaciones para algunos tipos de datos, incluido el certificado (X.509 / PKIX) . A menudo llamo a este formato estilo PEM en lugar de PEM para enfatizar la diferencia.
El núcleo del formato de estilo PEM era y es que los datos arbitrarios (potencialmente binarios) están codificados en base64, divididos en líneas y rodeados por las líneas -----BEGIN x----
y -----END x-----
donde x especifica el tipo de datos. (OpenPGP 'armor' es el mismo, excepto que también agrega una suma de comprobación base64). En su aplicación original al correo electrónico, PEM necesitaba y permitía otros datos antes, después y entre los bloques PEM. En las adaptaciones más recientes de este formato, algún software permite tales datos externos y otros no siempre o no , pero cuando se permiten datos externos, nunca afecta al objeto PEM, que es siempre la parte entre las líneas BEGIN y END; lo que hace el software cuando hay datos externos presentes pero no permitidos no es estándar.
Cambiar cualquier cosa en los datos entre las líneas BEGIN y END, de una manera que sigue siendo una base64 válida, cambia los datos representados. Es probable que un cambio arbitrario produzca datos que no sean válidos ASN.1 DER y, por lo tanto, no tengan ningún certificado. Un cambio cuidadosamente diseñado, incluido uno malicioso, puede producir datos que son la codificación válida de algunos certificados, pero en general no son certificados válidos. Dependiendo de exactamente qué validación se haga, esto puede o no ser detectado.
Algunas (¿muchas?) aplicaciones que procesan certificados también aceptan la representación DER / binary de un archivo, pero esperaría que una aplicación web o GUI sea menos probable porque los datos binarios generalmente no se pueden cortar y pegar correctamente. Estos archivos solo contienen una gran cantidad de texto y no pueden ser identificados de manera confiable, mucho menos validados, por herramientas normales como cat
o more
o un editor de texto.