[{"data":1,"prerenderedAt":510},["ShallowReactive",2],{"sc:header-data-es":3,"sc:footer-data-es":102,"glossary-es--glossary-important-data-formats":143,"authors_data":426},{"lang":4,"home":5,"navigation":14,"contact":95},"en",{"name":6,"imgLight":7,"img":8,"languages":9},"home","/products/scepman/scepman-logo-all-white.svg","/products/scepman/scepman-logo-rgb.svg",{"es":10},{"title":11,"url":12,"alt":13},"Home","/es","SCEPman",[15,19,25,31,83,89],{"name":16,"languages":17},"nav-home",{"es":18},{"title":11,"url":12},{"name":20,"languages":21},"pricing",{"es":22},{"title":23,"url":24},"Precios","/es/pricing",{"name":26,"languages":27},"partner",{"es":28},{"title":29,"url":30},"Partners","/es/partner",{"name":32,"languages":33,"children":36},"support-hub",{"es":34},{"title":35},"Support Hub",[37,53,68],{"name":38,"children":39},"support-hub-group-1",[40,47],{"name":41,"target":42,"languages":43},"docs","_blank",{"es":44},{"title":45,"url":46},"Docs","https://docs.scepman.com/",{"name":48,"languages":49},"faq",{"es":50},{"title":51,"url":52},"FAQ","/es/faq",{"name":54,"children":55},"support-hub-group-2",[56,62],{"name":57,"target":42,"languages":58},"support-ticket",{"es":59},{"title":60,"url":61},"Support Ticket","https://support.scepman.com/support/tickets/new?ticket_form=technical_support_request_%28scepman%29",{"name":63,"target":42,"languages":64},"drop-a-question",{"es":65},{"title":66,"url":67},"Drop a Question","https://support.scepman.com/support/tickets/new?ticket_form=drop_a_question_%28scepman%29",{"name":69,"children":70},"support-hub-group-3",[71,77],{"name":72,"languages":73},"glossary",{"es":74},{"title":75,"url":76},"Glosario","/es/glossary",{"name":78,"languages":79},"blog",{"es":80},{"title":81,"url":82},"Blog","/es/blog",{"name":84,"languages":85},"events",{"es":86},{"title":87,"url":88},"Eventos","/es/events",{"name":90,"languages":91},"about",{"es":92},{"title":93,"url":94},"Acerca de nosotros","/es/about-us",{"name":96,"languages":97},"contact",{"es":98},{"title":99,"url":100,"active":101},"support@scepman.com","mailto:support@scepman.com",false,{"data":103},{"mail":104,"logos":105,"socials":110,"links":123,"linksEs":133},"sales@SCEPman.com",[106],{"img":107,"alt":108,"url":109},"/products/scepman/scepman-logo-yellow.svg","SCEPman Logo","/",[111,115,119],{"icon":112,"url":113,"title":114},"fa-x-twitter","https://twitter.com/scepman_","X",{"icon":116,"url":117,"title":118},"fa-youtube","https://www.youtube.com/channel/UCKnLYxlQFhzdXkDADV_Unrg","Youtube",{"icon":120,"url":121,"title":122},"fa-linkedin","https://www.linkedin.com/showcase/scepman","LinkedIn",[124,127,130],{"title":125,"url":126,"target":42},"Privacy","https://www.glueckkanja.com/en/privacy",{"title":128,"url":129,"target":42},"Imprint","https://www.glueckkanja.com/en/imprint",{"title":131,"url":132,"target":42},"Contact & Locations","https://www.glueckkanja.com/en/company/contact-and-locations",[134,137,140],{"title":135,"url":136,"target":42},"Privacidad","https://www.glueckkanja.com/es/privacy",{"title":138,"url":139,"target":42},"Imprimir","https://www.glueckkanja.com/es/imprint",{"title":141,"url":142,"target":42},"Contacto y ubicaciones","https://www.glueckkanja.com/es/company/contact-and-locations",{"id":144,"title":145,"author":146,"body":147,"cta":146,"description":380,"eventid":146,"extension":399,"hideInRecent":101,"layout":400,"meta":401,"moment":146,"navigation":421,"path":422,"seo":423,"stem":424,"tags":146,"webcast":101,"__hash__":425},"content_es/glossary/important-data-formats.md","Formatos de datos importantes",null,{"type":148,"value":149,"toc":379},"minimal",[150,155,178,186,189,194,199,202,205,208,212,215,219,222,225,233,236,240,248,252,255,258,271,275,288,292,295,298,302,305,313,317,320,323,326,337,341,344,348,357,361,369,372],[151,152,154],"h2",{"id":153},"x509","X.509",[156,157,158,159,163,164,171,172,177],"p",{},"X.509 es ",[160,161,162],"em",{},"el"," estándar de los certificados digitales. Hubo competidores como ",[165,166,170],"a",{"href":167,"rel":168},"https://www.rfc-editor.org/rfc/rfc4880",[169],"nofollow","OpenPGP",", pero hoy se usan mucho menos. Aunque, un momento ... X.509 no es en realidad el estándar correcto. X.509 es un estándar de la ITU-T, mientras que las definiciones que de verdad importan forman parte del ",[165,173,176],{"href":174,"rel":175},"https://www.rfc-editor.org/rfc/rfc5280",[169],"RFC 5280",", es decir, de un estándar del IETF y no de la ITU-T. Ese RFC define el \"perfil de PKI para internet\" basado en X.509, pero es el único perfil que cuenta en la práctica.",[156,179,180,181,185],{},"Un certificado digital recurre a la criptografía asimétrica y, en especial, a las firmas digitales. Hoy el caso de uso más frecuente de los certificados digitales es la autenticación de servidores. Todo el mundo los ha usado ya, probablemente casi siempre sin saber que se trataba de un certificado X.509: cada vez que se accede a un sitio web HTTP",[182,183,184],"strong",{},"S",", el navegador establece una conexión TLS con el servidor web. El servidor web utiliza un certificado X.509 para demostrar quién es. Por ejemplo, cuando alguien accede al sitio web de su banco para transferir dinero desde su cuenta, quiere tener la certeza de que se está comunicando realmente con su banco. Un atacante podría intentar suplantar el sitio web del banco, leer la contraseña y el TAN del usuario y transferir después el dinero a una cuenta que él controla. HTTPS ayuda a evitarlo, porque los atacantes no disponen del certificado X.509 del servidor web del banco. Cuando el navegador indica que se está accediendo a un dominio concreto y que la conexión es HTTPS, el certificado garantiza que la conexión es realmente con un servidor web de alguien que posee ese dominio.",[156,187,188],{},"¿Cómo lo consigue el certificado? El certificado contiene ciertos metadatos, la clave pública de un par de claves criptográficas y una firma de una autoridad de certificación. Veamos esas tres partes:",[190,191,193],"h3",{"id":192},"contenido-de-un-certificado-x509","Contenido de un certificado X.509",[195,196,198],"h4",{"id":197},"metadatos","Metadatos",[156,200,201],{},"Los metadatos del certificado X.509 indican, entre otras cosas, durante qué periodo es válido, para qué debe usarse el certificado y a quién se emitió. En particular, en un certificado de servidor TLS contienen el dominio del servidor web. El navegador compara el dominio al que ha intentado acceder con el del certificado. Si no coinciden, el navegador no continúa y muestra una advertencia. Si el certificado ha caducado, también muestra una advertencia.",[156,203,204],{},"Curiosamente, los navegadores a menudo no mostraban ninguna advertencia al acceder a un sitio HTTP sin TLS, aunque eso es todavía menos seguro. Si se accedía a un servidor web con un certificado X.509 no válido, podía tratarse simplemente de un error de configuración y la conexión podía estar igualmente a salvo de atacantes que espiaran la comunicación, mientras que una conexión HTTP no ofrece protección alguna.",[156,206,207],{},"En cualquier caso, hay avances en este terreno, por ejemplo el certificate pinning. Pero ese es un tema avanzado, así que veamos los otros dos elementos presentes en un certificado X.509.",[195,209,211],{"id":210},"clave-pública","Clave pública",[156,213,214],{},"El certificado contiene la parte pública de un par de claves asimétricas. La criptografía permite al servidor web (o, en general, al titular del certificado si el caso de uso es otro) demostrar que también posee la parte privada del par de claves sin exponerla al cliente que se conecta ni a nadie más. Así, el cliente puede estar seguro de que el servidor web es realmente el propietario del certificado y no alguien que simplemente lo ha copiado. Copiar el certificado en sí es bastante fácil, ya que el servidor web envía una copia a todo el que intenta conectarse. Robar la clave privada es difícil o imposible, porque nunca sale del servidor web. Existen varios métodos para dificultar aún más el robo de la clave privada, como los HSM y los TPM.",[195,216,218],{"id":217},"firma-de-una-autoridad-de-certificación","Firma de una autoridad de certificación",[156,220,221],{},"Los metadatos permiten al cliente comprobar que el certificado es adecuado para el caso de uso concreto. La clave pública demuestra que la otra parte es realmente el propietario del certificado. Pero un atacante podría crear sin más un par de claves nuevo y un certificado nuevo que cumplieran también esos dos criterios. ¿Cómo sabría el cliente que el certificado es de fiar?",[156,223,224],{},"El certificado contiene una firma criptográfica de otro par de claves que pertenece al certificado de una autoridad de certificación (CA). El certificado de la CA se puede comprobar del mismo modo y también está firmado por un certificado. El cliente puede seguir esta \"cadena de confianza\" desde el certificado final, llamado certificado hoja, hasta el certificado de la CA raíz, que reconoce porque está autofirmado, es decir, la firma del certificado procede de su propio par de claves. Normalmente solo hay uno o dos pasos, así que solo intervienen uno o dos certificados de CA.",[156,226,227,228,232],{},"Las CA deben comprobar con cuidado que los metadatos son correctos cuando ",[165,229,231],{"href":230},"enrollment-methods/","emiten un certificado",". Por ejemplo, si se quiere un certificado de servidor TLS para un dominio propio, hay que demostrar a la CA que se es realmente su propietario. Según lo exhaustiva que sea esa comprobación, se obtiene un certificado básico o de validación extendida (EV).",[156,234,235],{},"Cada navegador y cada sistema operativo incluyen una lista de CA raíz de confianza predefinidas. Los usuarios o los administradores pueden añadir más CA raíz de confianza. Algunas CA raíz gozan de confianza solo para fines concretos, otras tienen una confianza más general. El cliente comprueba si la cadena de confianza termina en una CA raíz de confianza. Si es así, y si todos los certificados de la cadena siguen siendo válidos y los metadatos indican que se usan conforme a su finalidad, el certificado hoja del servidor web se considera de confianza y se establece la conexión.",[190,237,239],{"id":238},"validez-de-los-certificados-x509","Validez de los certificados X.509",[156,241,242,243,247],{},"En los certificados X.509 todo gira en torno a la confianza que hay que establecer. Como ya se ha explicado, un criterio de confianza es que el certificado encadene hasta una CA raíz de confianza. Otro es que se encuentre dentro de su periodo de validez. Eso suele significar que no ha caducado, pero, por lo general debido a errores técnicos, un certificado podría no ser válido todavía. Y hay un criterio más: la CA que emitió el certificado no debe haberlo revocado. Como es un tema en sí mismo, le dedicamos un ",[165,244,246],{"href":245},"other-stuff/certificate-lifecycle-management","artículo aparte",".",[151,249,251],{"id":250},"pkcs7","PKCS#7",[156,253,254],{},"PKCS#7 es la navaja suiza de los formatos de datos criptográficos y puede contener prácticamente cualquier cosa: mensajes cifrados, mensajes firmados, mensajes firmados y cifrados, certificados y claves privadas",[156,256,257],{},"Esa es también la gran desventaja del formato. Cuando una aplicación o un usuario reciben un PKCS#7, no queda claro de entrada qué hacer con él. Estos son algunos casos de uso importantes:",[259,260,261,265,268],"ul",{},[262,263,264],"li",{},"Los mensajes S/MIME son, básicamente, correos con cuerpos o adjuntos PKCS#7.",[262,266,267],{},"Las peticiones y las respuestas SCEP son, en realidad, mensajes PKCS#7 firmados.",[262,269,270],{},"Las respuestas EST son mensajes CMS.",[190,272,274],{"id":273},"codificación","Codificación",[156,276,277,278,282,283,287],{},"Las extensiones de archivo habituales son .p7b (",[165,279,281],{"href":280},"asn.1-and-pem#der-encoding","codificado en DER","), .p7s (un mensaje firmado o la firma de un mensaje) y .p7m (un mensaje firmado o cifrado, o ambas cosas). También está definida la ",[165,284,286],{"href":285},"asn.1-and-pem#pem-encoding","codificación PEM"," con la etiqueta \"PKCS7\", pero se usa poco.",[190,289,291],{"id":290},"herramientas","Herramientas",[156,293,294],{},"En Windows se pueden abrir los mensajes PKCS#7 con un doble clic y las extensiones de shell de criptografía los muestran. Sin embargo, normalmente solo se pueden extraer de ellos certificados y sus claves privadas, no el contenido de los mensajes.",[156,296,297],{},"Estos archivos se pueden convertir a otros formatos con herramientas como OpenSSL.",[151,299,301],{"id":300},"pkcs10","PKCS#10",[156,303,304],{},"Una solicitud de firma de certificado (CSR) tal como la define PKCS#10 es un archivo que contiene la descripción de un certificado que se quiere obtener de una autoridad de certificación (CA). Su estructura es parecida a la de un certificado X.509, pero le falta la firma de una CA. En su lugar, contiene la firma de quien solicita el certificado. Aun así es un formato distinto, de modo que no equivale a un certificado autofirmado.",[156,306,307,308,247],{},"Puede ir codificada en binario DER o en PEM ",[165,309,312],{"href":310,"rel":311},"https://datatracker.ietf.org/doc/html/rfc7468#section-7",[169],"con la etiqueta \"CERTIFICATE REQUEST\"",[151,314,316],{"id":315},"pkcs12","PKCS#12",[156,318,319],{},"PKCS#12 también se conoce como PFX, sobre todo en entornos Windows. Por eso las extensiones de archivo habituales son .pfx y .p12. Contiene certificados X.509 y, casi siempre, las claves privadas correspondientes, aunque técnicamente no sea obligatorio.",[156,321,322],{},"Los datos de un archivo PKCS#12 suelen estar cifrados con contraseñas. A menudo solo se cifra la clave privada, de modo que se podrían extraer los certificados sin conocer las contraseñas si la aplicación lo permite (la mayoría no lo hace). En entornos Windows, PKCS#12 es la forma más habitual de guardar un certificado y su clave privada en un archivo. En entornos Linux son más frecuentes los archivos PKCS#8 con codificación PEM.",[156,324,325],{},"Como el estándar ofrece muchas opciones para almacenar certificados y claves privadas en \"safebags\" anidados, los archivos PKCS#12 presentan algunos problemas de compatibilidad, por ejemplo:",[259,327,328,331,334],{},[262,329,330],{},"Windows es conocido por asociar las claves privadas de un PKCS#12 a todos los certificados que se extraen del archivo, y no solo a aquel al que corresponden. Si el PKCS#12 contiene una cadena de certificados, Windows puede indicar que dispone de la clave privada del certificado de la CA.",[262,332,333],{},"En macOS no se pueden importar archivos PKCS#12 si los algoritmos criptográficos son demasiado recientes.",[262,335,336],{},"Puede ser necesario cifrar los certificados de un archivo PKCS#12 para que las aplicaciones receptoras puedan extraerlos. Pero algunas solo admiten algoritmos muy antiguos y débiles, lo que normalmente no supone un problema, ya que la información es pública de todos modos. OpenSSL 3.x, en cambio, no admite esos algoritmos antiguos y vulnerables y se niega a abrir el PKCS#12.",[151,338,340],{"id":339},"asn1-y-pem","ASN.1 y PEM",[156,342,343],{},"La Abstract Syntax Notation One (ASN.1) es un lenguaje que sirve para describir estructuras de datos. Existen algunos tipos de datos básicos predefinidos, como los enteros o las secuencias, y el autor de un protocolo o de un formato de archivo puede definir a partir de ellos tipos de datos propios.",[190,345,347],{"id":346},"codificación-der","Codificación DER",[156,349,350,351,356],{},"El ",[165,352,355],{"href":353,"rel":354},"https://www.itu.int/rec/T-REC-X.680/",[169],"estándar X.680 de la ITU-T"," define distintas codificaciones para los datos especificados en ASN.1. Para los datos relacionados con X.509, la codificación más importante es DER, porque solo hay una manera de codificar un tipo; por tanto, el hash de la representación binaria DER de ese tipo tendrá siempre el mismo valor, algo importante, por ejemplo, al firmar datos codificados en ASN.1.",[190,358,360],{"id":359},"codificación-pem","Codificación PEM",[156,362,363,364,368],{},"Para muchos tipos de archivo relacionados con X.509, aunque no para todos, el archivo se puede guardar en binario con codificación DER o aplicar además una ",[165,365,286],{"href":366,"rel":367},"https://datatracker.ietf.org/doc/html/rfc7468",[169]," sobre la codificación DER. PEM usa únicamente caracteres ASCII, así que se puede copiar y pegar con facilidad en el portapapeles o, hace unas décadas cuando esto todavía era relevante, enviar por correo electrónico.",[190,370,291],{"id":371},"herramientas-1",[156,373,374,375,247],{},"Si se tiene un archivo codificado en ASN.1 y no se sabe de qué tipo es, o no hay ninguna aplicación que gestione ese tipo concreto, aún se puede decodificar la estructura ASN.1 en bruto y ver qué contiene. En Windows, la herramienta integrada certutil lo hace con el comando ",[376,377,378],"code",{},"certutil -decode",{"title":380,"searchDepth":381,"depth":381,"links":382},"",2,[383,388,392,393,394],{"id":153,"depth":381,"text":154,"children":384},[385,387],{"id":192,"depth":386,"text":193},3,{"id":238,"depth":386,"text":239},{"id":250,"depth":381,"text":251,"children":389},[390,391],{"id":273,"depth":386,"text":274},{"id":290,"depth":386,"text":291},{"id":300,"depth":381,"text":301},{"id":315,"depth":381,"text":316},{"id":339,"depth":381,"text":340,"children":395},[396,397,398],{"id":346,"depth":386,"text":347},{"id":359,"depth":386,"text":360},{"id":371,"depth":386,"text":291},"md","post",{"lang":402,"seoTitle":403,"titleClass":404,"blogtitlepic":405,"socialimg":406,"customExcerpt":407,"keywords":408,"asideNav":409,"maxContent":421},"es","Formatos de datos importantes: X.509, PKCS, ASN.1 y PEM explicados","h1-font-size","header-scepman-important-data-formats.png","/blog/heads/header-scepman-important-data-formats.png","Los formatos esenciales de criptografía y de certificados, entre ellos X.509, PKCS 7, PKCS 10, PKCS 12, ASN.1 y PEM.","formatos de datos importantes, certificado X.509, formatos PKCS, PKCS 7, PKCS 10, PKCS 12, ASN.1, formato PEM, certificados digitales, infraestructura de clave pública, formatos de PKI",{"menuItems":410},[411,413,415,417,419],{"href":412,"text":154},"#x509",{"href":414,"text":251},"#pkcs7",{"href":416,"text":301},"#pkcs10",{"href":418,"text":316},"#pkcs12",{"href":420,"text":340},"#asn1-y-pem",true,"/glossary/important-data-formats",{"title":145,"description":380},"glossary/important-data-formats","nmVVGqOJ1mTFHiMO3lfcRSRZMqUiJC5Ka57raP1owAc",{"id":427,"extension":428,"meta":429,"stem":508,"__hash__":509},"authors_data/authors.json","json",{"path":430,"Alexander Rudolph":431,"Sophie Luna":437,"Nadine Kern":443,"Thorben Pöschus":449,"Karsten Kleinschmidt":455,"Julian Wendt":461,"Holger Bunkradt":466,"Ralf Mania":472,"Oliver Kieselbach":478,"Steffen Schwerdtfeger":484,"Christoph Hannebauer":490,"body":495,"title":507,"Thorben Poeschus":449},"/authors",{"display_name":432,"avatar":433,"permalink":434,"twitter":435,"linkedin":436},"Alexander Rudolph","people/people-alexander-rudolph.png","author/alexander-rudolph/","AlexanderOnIT","rudolph-alexander",{"display_name":438,"avatar":439,"permalink":440,"twitter":441,"linkedin":442},"Sophie Luna","c_thumb,h_1600,w_1600/people/people-sophie-luna.jpg","author/sophie-luna/","glueckkanjagab","company/glueckkanja-gab",{"display_name":444,"avatar":445,"permalink":446,"twitter":447,"linkedin":448},"Nadine Kern","people/people-nadine-kern.png","author/nadine-kern/","nadineausRT","nadine-kern",{"display_name":450,"avatar":451,"permalink":452,"twitter":453,"linkedin":454},"Thorben Pöschus","people/people-thorben-poeschus.png","author/thorben-poeschus/","TPO901","thorben-pöschus-624693b7",{"display_name":456,"avatar":457,"permalink":458,"twitter":459,"linkedin":460},"Karsten Kleinschmidt","people/people-karsten-kleinschmidt.png","author/karsten-kleinschmidt/","KarstenonIT","karstenkleinschmidt",{"display_name":462,"avatar":463,"permalink":464,"linkedin":465},"Julian Wendt","people/people-julian-wendt.png","author/julian-wendt/","julian-wendt",{"display_name":467,"avatar":468,"permalink":469,"linkedin":470,"twitter":471},"Holger Bunkradt","people/people-holger-bunkradt.png","author/holger-bunkradt/","holger-bunkradt-12b5053b","hbunkradt",{"display_name":473,"avatar":474,"permalink":475,"linkedin":476,"twitter":477},"Ralf Mania","people/people-ralf-mania.png","author/ralf-mania/","ralf-mania-146a2757","RaMa1976",{"display_name":479,"avatar":480,"permalink":481,"linkedin":482,"twitter":483},"Oliver Kieselbach","people/people-oliver-kieselbach.png","author/oliver-kieselbach/","oliver-kieselbach-a4a3409","okieselbT",{"display_name":485,"avatar":486,"permalink":487,"linkedin":488,"twitter":489},"Steffen Schwerdtfeger","people/people-steffen-schwerdtfeger.png","author/steffen-schwerdtfeger/","steffen-schwerdtfeger","SteffenAtCloud",{"display_name":491,"avatar":492,"permalink":493,"twitter":441,"linkedin":442,"imageOffsetTop":494},"Dr. Christoph Hannebauer","people/people-christoph-hannebauer.png","/authors/christoph-hannebauer/","72%",{"Alexander Rudolph":496,"Sophie Luna":497,"Nadine Kern":498,"Thorben Pöschus":499,"Karsten Kleinschmidt":500,"Julian Wendt":501,"Holger Bunkradt":502,"Ralf Mania":503,"Oliver Kieselbach":504,"Steffen Schwerdtfeger":505,"Christoph Hannebauer":506},{"display_name":432,"avatar":433,"permalink":434,"twitter":435,"linkedin":436},{"display_name":438,"avatar":439,"permalink":440,"twitter":441,"linkedin":442},{"display_name":444,"avatar":445,"permalink":446,"twitter":447,"linkedin":448},{"display_name":450,"avatar":451,"permalink":452,"twitter":453,"linkedin":454},{"display_name":456,"avatar":457,"permalink":458,"twitter":459,"linkedin":460},{"display_name":462,"avatar":463,"permalink":464,"linkedin":465},{"display_name":467,"avatar":468,"permalink":469,"linkedin":470,"twitter":471},{"display_name":473,"avatar":474,"permalink":475,"linkedin":476,"twitter":477},{"display_name":479,"avatar":480,"permalink":481,"linkedin":482,"twitter":483},{"display_name":485,"avatar":486,"permalink":487,"linkedin":488,"twitter":489},{"display_name":491,"avatar":492,"permalink":493,"twitter":441,"linkedin":442,"imageOffsetTop":494},"Authors","authors","PIJJchcHqfzD5YPmn4V8YLxY6gtySOfBG5u8lTczi2w",1790098975522]