{"id":124,"date":"2018-11-17T11:02:00","date_gmt":"2018-11-17T11:02:00","guid":{"rendered":"https:\/\/www.mainmind.com\/blog\/?p=124"},"modified":"2020-07-27T06:41:19","modified_gmt":"2020-07-27T06:41:19","slug":"creacion-de-pfx-a-partir-de-clave-publica-y-privada","status":"publish","type":"post","link":"https:\/\/www.mainmind.com\/blog\/creacion-de-pfx-a-partir-de-clave-publica-y-privada\/","title":{"rendered":"Creaci\u00f3n de PFX a partir de clave p\u00fablica y privada"},"content":{"rendered":"<p>En entornos Windows la encapsulaci\u00f3n de certificado en ocasiones suele ser algo complicada en algunos contextos. En este en concreto, plantemos unir un certificado CER\/CRT (es lo mismo) recibido con la clave p\u00fablica con otro archivo con las claves privadas en un \u00fanico archivo PFX<\/p>\n<p>En ocasiones se utilizan diferentes extensiones para los certificados, lo primero es identificar cada fichero, podemos abrirlos con <a href=\"https:\/\/notepad-plus-plus.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">bloc de notas<\/a> y reconocer las cabeceras:<\/p>\n<p>Certificado p\u00fablico (micertificado.cer):<\/p>\n<pre class=\"brush:plain;auto-links:false;toolbar:false\" contenteditable=\"false\">-----BEGIN CERTIFICATE-----\nMIIFszCCBJugAwIBAgIQCn\/RxfJgDNYmoD7jyCSfGjANBgkqhkiG9w0BAQsFADBe\n...BLOQUE DE TEXTO...\nKPYJupIYuFSDoL\/C77KF9zntk1gft5o=\n-----END CERTIFICATE-----<\/pre>\n<p>Clave privada asociada (clave.key):<\/p>\n<pre class=\"brush:plain;auto-links:false;toolbar:false\" contenteditable=\"false\">-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAzHvXgg7VbCHXDSihNDx3q5GrNhDhnw2IAU\/z259t6wi+gTjv\n..BLOQUE DE TEXTO...\nPEMYrxRR46jUuQqNpqYqYk5Trg6dtjKf6\/82caESpr1vYG0uErwXTow=\n-----END RSA PRIVATE KEY-----<\/pre>\n<p>Necesitaremos varias herramientas:<\/p>\n<ol>\n<li><a href=\"https:\/\/developer.microsoft.com\/en-us\/windows\/downloads\/windows-10-sdk\" target=\"_blank\" rel=\"noopener noreferrer\">pvk2pfx en SDK Windows<\/a>, en este caso de Windows 10 pero esta disponible para otras versiones<\/li>\n<li>Utilidad <a href=\"http:\/\/www.drh-consultancy.demon.co.uk\/\" target=\"_blank\" rel=\"noopener noreferrer\">PVK de Stephen N Henson<\/a> [<a href=\"https:\/\/1drv.ms\/u\/s!AsYEUc1fqfVgitcszEh9jxPsnlLhvA\" target=\"_blank\" rel=\"noopener noreferrer\">mirror 1<\/a>]<\/li>\n<\/ol>\n<p>A partir de nuestro archivo de claves privadas (clave.key) generaremos un archivo PVK ejecutando (C:\\Program Files (x86)\\Windows Kits\\10\\bin\\x64\\):<\/p>\n<pre class=\"brush:bash;auto-links:false;toolbar:false\" contenteditable=\"false\">PVK.exe -in clave.key -topvk -out misclaves.pvk -strong<\/pre>\n<p>Nos pedir\u00e1 que introduzcamos una contrase\u00f1a. Con los dos ficheros misclaves.pvk + micertificado.cer ejecturemos contra la herramienta del SDK asegurando las rutas de acceso:<\/p>\n<pre class=\"brush:bash;auto-links:false;toolbar:false\" contenteditable=\"false\">pvk2pfx.exe \/pvk misclaves.pvk \/spc micertificado.cer \/pfx MiCertificadoCompleto.pfx<\/pre>\n<p><img decoding=\"async\" src=\"\/blog\/wp-content\/uploads\/\/2018\/pvk2pfx_nuevo.JPG\" alt=\"\"><\/p>\n<p>&nbsp;<\/p>\n<p>Ya tendremos unificado en un fichero toda la informaci\u00f3n.<\/p>\n<p>&nbsp;<\/p>\n<p>Manual <a href=\"https:\/\/docs.microsoft.com\/en-us\/windows-hardware\/drivers\/devtest\/pvk2pfx\" target=\"_blank\" rel=\"noopener noreferrer\">Pvk2Pfx<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En entornos Windows la encapsulaci\u00f3n de certificado en ocasiones suele ser algo complicada en algunos contextos. En este en concreto, plantemos unir un certificado CER\/CRT (es lo mismo) recibido con la clave p\u00fablica con otro archivo con las claves privadas en un \u00fanico archivo PFX En ocasiones se utilizan diferentes extensiones para los certificados, lo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[45,294,293,44],"class_list":["post-124","post","type-post","status-publish","format-standard","hentry","category-software","tag-pfx","tag-pvk","tag-pvk2pfx","tag-ssl"],"_links":{"self":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts\/124","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/comments?post=124"}],"version-history":[{"count":0,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts\/124\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/media?parent=124"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/categories?post=124"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/tags?post=124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}