OpenSSL – La navaja suiza del cifrado

Hoy vamos a hacer una chuleta de como cifrar nuestros documentos y demás utilizando algo que todos aquellos que trabajamos con linux tenemos muy a mano, OpenSSL.

Casi todos lo usuarios de linux, sobre todo aquellos que lo llevéis en un portátil y uséis la conexión wifi, tendréis instalado OpenSSL, pero por lo menos en mi caso,suelo dejar que el sistema lo utilice automáticamente para las conexiones a redes inalámbricas y yo, no lo utilizaba para nada. Pero como la curiosidad a veces nos juega malas pasadas, el otro día me decidí a investigar si servía para algo más y se podía utilizar de forma manual, y vaya si se puede. Se pueden hacer un montón de cosas con él, eso si, todas ellas relacionadas con el cifrado y descifrado. Así que el siguiente artículo es una especie de recetario y de apuntes de como utilizarlo para no tener que llevarlo todo en la cabeza, que no se la vuestra, pero la mía se despista con facilidad. Por supuesto, todo lo que se va a comentar a continuación se va a hacer desde la consola.

Antes de empezar una recomendación, mirad bien lo que escribís porque ,al menos a mi, no me van los cursores para desplazarme sobre lo escrito. así que si tengo que rectificar algo me toca borrar y reescribir.

Acceder a openssl: Tecleamos en la consola

~# openssl

Nos saldrá un promt con el siguiente formato.

OpenSSL>

Salir de openssl:

OpenSSL> quit
OpenSSL> q
OpenSSL> exit

Ayuda:

OpenSSL> ?

Nos mostrará una lista de los comandos disponibles.

— Cifrado simétrico —

Encriptar

  • DES:
    • OpenSSL> enc -des -in entrada.txt -pass pass:contraseña -out salidaDes.txt
  • AES:
    • OpenSSL> enc -aes128 -in entrada.txt -pass pass:contraseña -out salidaAes.txt

Desencriptar

  • DES:
    • OpenSSL> enc -d -des -in salidaDes.txt -pass pass:contraseña -out salidaDes2.txt
  • AES:
    • OpenSSL> enc -d -aes128 -in salidaAes.txt -pass pass:contraseña -out salidaAes2.txt

— Cifrado asimétrico —

Generar llave del algoritmo asimétrico RSA: Vamos a generar una llave privada de 1020 bits

OpenSSL> genrsa -out privada1.key 1024

Cifrar la clave privada con DES para evitar su uso fraudulento:

OpenSSL> genrsa -out privada2.key -passout pass:contraseña -des 1024

Se realiza este cifrado porque la clave privada se genera como un fichero de texto que cualquiera podría leer, para evitar esto la ciframos.

Generar claves públicas derivadas:

OpenSSL> rsa -in privada1.key -pubout -out publica1.key
OpenSSL> rsa -in privada2.key -pubout -out publica2.key -passin pass:contraseña

Encriptar

OpenSSL> rsautl -pubin -encrypt -in entrada.txt -out salidaRsa.txt -inkey publica1.key

Desencriptar:

OpenSSL> rsautl -decrypt -in salidaRsa.txt -out salidaRsa2.txt -inkey privada1.key

— Funciones hash —

Generar:

OpenSSL> dgst -md5 -out entrada.hsh entrada.txt

— Firma digital —

Generar un par de claves RSA como hemos visto anteriormente:

OpenSSL> genrsa -out privada.key 1024
OpenSSL> rsa -in privada.key -pubout -out publica.key

Firmar el archivo digitalmente:

OpenSSL> dgst -c -sign privada.key -out firmado.sig entrada.txt

El archivo “firmado.sig” contendrá la firma digital en formato binario.

Verificar firma:

OpenSSL> dgst -c -verify publica.key -signature firmado.sig entrada.txt

OpenSSl mostrará un “Verified OK” si todo ha sido correcto, o un “Verification Failure” si algo ha fallado.

Conversión de firmas binarias a texto: Como ya he dicho antes las firmas generadas tienen un formato binario, con lo cual para su envió por correo, por ejemplo, es interesantes pasarlas a texto. Así que vamos a generar una versión en base64.

OpenSSL> base64 -in firmado.sig -out firmado.b64

Como puedes observar, el fichero generado es legible y fácilmente agregable a cualquier texto.

Conversión de firmas en texto a binarias: Para verificar las firmas que nos han llegado en modo texto tendremos que pasarlas a modo binario antes.

OpenSSL> base64 -d -in firmado.b64 -out firmado1.sig

— Certificados digitales —

Crear certificado y archivo de configuración de la autoridad certificadora (“CA”):

Generar un par de claves RSA como hemos visto anteriormente:

OpenSSL> genrsa -out CAprivada.key 1024
OpenSSL> rsa -in CAprivada.key -pubout -out CApublica.key

Crear el archivo de configuración:

Crear el archivo “CAconfig.conf” con el siguiente contenido:

[ req ]
default_bits            =  1024
default_keyfile         =  CAprivada.key
distinguished_name      =  req_distinguished_name
attributes              =  req_attributes
x509_extensions         =  v3_ca
dirstring_type          =  nobmp
[ req_distinguished_name ]
countryName             = Identificador del País (2 letras)
countryName_default     = MX
countryName_min         = 2
countryName_max         = 2
localityName            = Localidad (ej., ciudad)
organizationalUnitName  = Nombre de unidad organizacional (ej., oficina)
commonName              = Nombre común (ej., TU nombre)
commonName_max          = 64
emailAddress            = Dirección de correo electrónico
emailAddress_max        = 40
[ req_attributes ]
challengePassword       = Contraseña para "challenge"
challengePassword_min   = 4
challengePassword_max   = 20
[ v3_ca ]
subjectKeyIdentifier    = hash
authorityKeyIdentifier  = keyid:always,issuer:always
basicConstraints        = CA:true

Crear el certificado de la autoridad:

OpenSSL> req -new -key CAprivada.key -out ca.cer -config CAconfig.conf -x509 -days 3650

Generar claves para un usuario:

OpenSSL> genrsa -out privadaUser.key 1024
OpenSSL> rsa -in privadaUser.key -pubout -out publicaUser.key

Generar un requerimiento del certificado para este usuario:

OpenSSL> req -new -key privadaUser.key –out req.pem -config CAconfig.conf

Firmar el requerimiento y generar el certificado del usuario:

OpenSSL> x509 -inform PEM -outform PEM -keyform PEM -CAform PEM -CAkeyform PEM –in req.pem -out certUser.cer -days 365 -req -CA ca.cer -CAkey CAprivada.key -sha1 –CAcreateserial -text

Bueno, hasta aquí la chuleta de hoy. También debéis saber que OpenSSL permite la creación de de certificados digitales para sitios web, pero como esto da por si solo para un post completo, lo dejaremos para otro día si a alguien le interesa.

Espero que la chuleta os sirva de ayuda. Si alguien tiene alguna duda o algo que aportar, como siempre os animo a dejarlos en los comentarios. Nos vemos.

OpenSSL – La navaja suiza del cifrado

55 thoughts on “OpenSSL – La navaja suiza del cifrado

  1. Arturo Miranda says:

    Hola Israel,

    estoy implementando la factura electronica y lo unico que me falta es el sello digital, no lo genero correctamente y esque no se que funciones utilizar para que me salga,

    me puedes dar tus numeros telefonicos para que me puedas asesorar si eres tan amable??

    Like

    1. svoboda says:

      Jejeje, hola Arturo. Lo primero, saludar, y lo segundo decir que yo no soy Israel, ese es un comentario de alguien que enlazo mi post en su blog, supongo que Israel será él.

      Y ya en tercer lugar, respondiendo a lo que comentas, pues mi número como imaginarás no te lo voy a dar, pero tienes a tu disposición el email y los comentarios, así que si explicas un poco más el problema que te ocurre intentaré ayudarte, o quizás algún otro lector pueda.

      Like

      1. Arturo Miranda says:

        Hola svoboda,

        disculpa por la confusion del nombre, mira te explico mi problema:

        Genero mi cadena original.
        ||2.0|1|2009-11-07T19:15:49|123456789|2009|ingreso|Pago en una sola exhibición|45000.00|51750.00|MIGI800920RF3|Facturacion Electronica|C.21-A X 38 Y 25|368|FRACC. CHENKU|MERIDA|MERIDA|YUCATAN|MEXICO|97219|CSI030408LA0|CENTRO DE SOLUCIONES INALAMBRICAS S.A. DE C.V.|CALLE 18 X 15 Y 13-A|97|301|COL. ITZIMNA|MERIDA|MERIDA|YUCATAN|MEXICO|97100|100|HORAS|SOPORTE TECNICO EN SITIO|450.00|45000.00|IVA|15.00|6750.00|6750.00||
        Genero el MD5.
        0e3d1b3bfd3dcdfd26cafa07e3842004
        Genero el sello. (Aqui tengo el problema). pues debo llegar a este sello que el SAT me marca como valido.

        BbrGyPaZJzrIENuMiKBswb24b0y81mYXqlznS8xntYVHzcjt59XHFdeH8ZRpDS0c7ZsPMUuTc+NUpnA6GI9fppXBz+Gu2ORgO/1A+c2tcPflKXge3pppls4cbpBZjY12jJTW8ntBt1ZyoyztOOrH45hI6eBXWZSwe5g1WDRHpzw=

        sin embargo no logro llegar a ese sello. utilizo las siguientes funciones desde PHP.

        a) openssl_sign($CadenaMD5, $sign, $pkeyid); y obtengo:
        WRAOF7YZ+639YZckcmTBxf/xAwtFrO7hFsgAMPLkRe0Vnvk/c0WSJOaGZuImwz8lK92RO13Cn6XO52dS0h4fyNhyea8DPOnA5QUW6j+hpm6EFWNvvHu/UuyN1sFOTDYUbSPf/zvND+2lqxJpI3+XUyzc2CyaYNPu+ROda3T27Bk=

        b) openssl_private_encrypt($CadenaMD5, $sign2, $pkeyid); y obtengo:
        XJ9LkHVGrhXuPYT14fUA4vQWXrRhutByvFi3gQxPDltb8w6e4teDDOqLE0idDZYuFS8QhSRJhVK6w0C7E3FxeifNa1aj5O/kUoY0G4wkN7Q0NpGJ8sMcsXvlONprgi/yGiIzHz5PbzHXhVs0jZ3sVrxgc1kBVrxrg9PUVCJr3c4=

        ninguno de esos sellos son validos cuando los copio y pego en el XML y hago la validacion con el validador del SAT

        que estoy haciendo mal, de antemano muchas gracias.
        saludos

        Like

  2. svoboda says:

    Hola Arturo, no pasa nada por lo del nombre, no te preocupes.

    A ver, la verdad es que de validación de facturas digitales no he hecho nada solamente he leído algo desde el punto de vista teórico, pero, sobre la función “openssl_sign” que si que la he usado, deberías probar ponerle el parámetro “signature_alg” con el valor “OPENSSL_ALGO_MD5”, aquí te dejo un enlace con los posibles valores: http://www.php.net/manual/en/openssl.signature-algos.php

    Otra cosa, que supongo habrás mirado pero por si acaso, deberías de asegurarte de que la versión en la que estás trabajando y la que estás intentando validar sea la misma, si no recuerdo mal existe una versión 1 y una 2 y la validación no es igual.

    Y en tercer lugar, aunque quizás los hayas visto, te remito a un par de enlaces sobre donde se habla bastante de este tema que preguntas.

    http://www.forosdelweb.com/f18/facturacion-electronica-mexico-638882/

    http://phylevn.mexrom.net/index.php/blog/show/Script_PHP_para_generar_Sello_Digital_requerido_por_el_estandar_de_SAT_para_facturacin_ele.html

    Espero que te sirva de algo la información.

    Like

  3. Hola,

    He desarrollado una librería que permite generar la Factura electrónica y enviarla al PAC, esta biblioteca es totalmente gratuidad y puede ser usada en cualquier tipo de sistema; si te interesa puedes revisar mi pagina

    Like

    1. svoboda says:

      Se le puede echar un ojo, nunca está de más ver cosas nuevas. Aunque me temo que la tengo que apuntar en la lista de tareas porque ahora mismo voy un poco saturado com habrás podido ver por la última fecha de actualización del blog.

      Like

    2. Robert says:

      Hola,
      Me interesa probar tu libreria ya que estoy haciando algo sobre facturacion electronica cual es tu pagina para darle una revisada a la libreria que comentas?
      De antemano gracias!

      Saludos.

      Like

  4. Noe Torres says:

    Hola, muy interesante y útil el contenido de tu post, pero quería saber si tendrás algo de información sobre los algoritmos internos que se utilizan al generar las claves rsa y además qué métodos se utilizan al cifrar y descifrar un documento, todo esto de manera interna, es decir, si yo quisiera hacerlo manualmente, qué operaciones debería realizar

    Like

    1. svoboda says:

      Tener información, no tengo. Pero el proyecto de openssl está al alcance de cualquiera, en su página tienes documentación e incluso el código fuente para ver como funciona todo internamente. La verdad es que es una buena herramienta y, a parte de estudiar como funciona RSA desde el punto de vista teórico, no he ido más allá.

      Like

  5. Anonymous says:

    Una consulta, en la linea que dice “Generar claves públicas derivadas:” ambos comandos que les sigue (OpenSSL> rsa in privada1.key -pubout -out publica1.key , OpenSSL> rsa in privada2.key -pubout -out publica2.key -passin pass:contraseña), no deberían generar la misma clave publica?. Cuando reviso el contenido de ambas claves publicas derivadas tiene diferentes valores, porque es esto?.

    Like

    1. svoboda says:

      Hola, siento la tardanza.
      No entiendo exactamente la pregunta, ¿por qué afirmas que deberían ser iguales? privada1 y privada2 son diferentes, por lo tanto los resultados son diferentes.

      Like

  6. Anonymous says:

    Ante todo quiero agradecerte el articulo, la verdad es que nos ha venido muy bien para entender con claridad el proceso y la utilidad de openssl.

    Imagino que a lo que se refiere mas arriba es que cree que siempre genera la misma clave, de hay que pregunte si ambas no serán al final la misma.

    Like

    1. svoboda says:

      En principio, no hay ninguna restricción sobre esto, lo puedes crear donde quieras, luego cuando lo vayas a utilizar, solo tendrás que especificar la ruta correcta. Como ves yo lo creé en el directorio donde estaba trabajando por comodidad.

      Like

  7. si pero m manda error el mismo que todos aaaaaaaaaaaaa y no se como sabemos crear el fichero ni donde ni como ni cualllll por favor ayúdanos explica plisss

    Like

    1. svoboda says:

      Si necesitas una mano, necesito más datos. ¿Qué estás intentando hacer exactamente? ¿Estás siguiendo todos los pasos del post o solo haciendo algo en concreto? ¿Qué te da error exactamente? ¿Como estás intentando crear el fichero? Necesito que seas un poco más concreto sobre lo que te está pasando para ver si se te puede echar una mano.

      Like

  8. OpenSSL> req -new -key CApriv.key -out ca.cer -config CAconfig.cnf -x509 -days 3
    650
    error on line -1 of CAconfig.cnf
    4420:error:02001002:system library:fopen:No such file or directory:.\crypto\bio\
    bss_file.c:169:fopen(‘CAconfig.cnf’,’rb’)
    4420:error:2006D080:BIO routines:BIO_new_file:no such file:.\crypto\bio\bss_file
    .c:172:
    4420:error:0E078072:configuration file routines:DEF_LOAD:no such file:.\crypto\c
    onf\conf_def.c:197:
    error in req
    OpenSSL>

    este es el error, Si estoy siguiendo los pasos, y quiero crear un certificado electrónico que obtenga la firma y sello electrónico.

    Like

    1. svoboda says:

      Buenas. He conseguido reproducir el error que me comentas en mi máquina. El por qué de este, es porque alguno de los ficheros que le estás pasando en la instrucción que tratas de ejecutar no existe. En tu caso, se está quejando del “CAconfig.cnf” que dice que no existe:
      “error on line -1 of CAconfig.cnf” -> línea 1 del interprete de comandos de openssl (la que estás ejecutando)
      “4420:error:02001002:system library:fopen:No such file or directory:.\crypto\bio\
      bss_file.c:169:fopen(‘CAconfig.cnf’,’rb’)” -> Error del método de C para abrir el fichero a leer.
      Asegúrate bien de que para el fichero de la clave y el de configuración los nombres estén bien escritos, probablemente es un error tipográfico (a mi me pasa mucho). Es decir:
      – El nombre del fichero de clave: “CAprivada.key” en mi caso, se debe corresponder con el fichero en el que has generado la clave RSA.
      – El nombre de la configuración debe coincidir con el del fichero que has creado, en mi caso “CAconfig.conf”
      La secuencia de comandos toda junta es:
      1. genrsa -out ##CAprivada.key## 1024
      2. crear fichero ##CAconfig.conf##
      3. req -new -key ##CAprivada.key## -out ca.cer -config ##CAconfig.conf## -x509 -days 3650
      Al igual que el nombre del fichero en la propiedad “default_keyfile” dentro del fichero de configuración que también debe coincidir.
      Te he puesto entre ## los nombres que deberían ser iguales. Míralo detenidamente, porque estoy casi seguro que es un error tipográfico. En caso de que estés completamente seguro de que están bien escritos, vuelve a comentarlo y le doy un par de vueltas más para ver si consigo reproducirlo de otra forma. Espero que te sirva. Un saludo.

      Like

      1. Gracias !!!! pero el fichero es una carpeta que se guarda en bin> y la creamos nosotros o el sistema lo debe de traer ?
        otra pregunta para descargar “”” OpenSSL””” se tiene que comprar la licencia?

        Like

  9. svoboda says:

    No me deja responder a la respuesta, que raro.
    El fichero lo creamos nosotros.
    OpenSSL es gratuito, no hay que pagarlo. Como su nombre indica: The Open Source toolkit for SSL/TLS. De hecho todas o casi todas las distribuciones de linux traen un paquete con él, y viene instalado en sistemas Unix o Mac OS.

    Like

    1. Laura says:

      Cómo creamos el fichero CAconfig.cfg con las características que expones en el post? Y como podemos editarlo para poner las características que querramos ?

      Like

      1. Laura says:

        Cómo creamos el fichero CAconfig.cfg con las características que expones en el post? Y como podemos editarlo para poner las características que querramos ? Perdón es CAconfig.cfn

        Like

      2. fjavierm says:

        No es más que un fichero de texto plano, no deberíais tener ningún problema para crearlo o editarlo. Podéis usar de base el que hay en el artículo, y modificarlo según vuestras necesidades. Un saludo

        Like

  10. Martín says:

    Tengo una preguntita, por si alguno anda por ahí. Quiero generar un pedido de certificado y me está dando error el servidor. Estoy ejecutando el openssl en un Windows Server 2008. ¿Habrá algún problema si teniendo el archivo key, genero mi pedido de certificado desde Windows 7 en otra máquina?

    Like

    1. svoboda says:

      Andar alguno anda, pero en esta ocasión, me has pillado y no tengo ni idea. A ver si tienes suerte y alguien te puede ayudar. Un saludo.

      Like

  11. Anonymous says:

    Muy bien explicado, ahora tengo un problema (Urgente). Tengo un documento digital firmado digitalmente por el usuario 1, y necesito que sea firmado digitalmente por el usuario 2. Y luego necesito verificar la integridad de las dos firmas. ¿Se pueden hacer múltiples firmas sobre un documento ya firmado? no lo he podido realizar todavía…. agradecería una respuesta cuanto antes, muchas gracias

    Like

    1. svoboda says:

      Gracias por lo primero, y sobre lo segundo, me temo que no te puedo ayudar. Nunca se me ha dado el caso de tener que hacer algo así y no lo he investigado nunca, no se si será posible o no. Una idea, aunque sin probar y sin tener ni idea, quizás puedas aplicar las firmas de forma consecutiva, y comprobarlas después de forma consecutiva también. Es decir, firma A, firma B, … compruebas la firma de B, compruebas la firma de A, … Pero vamos, lo dicho, ni idea, lo última idea es completamente a ciegas. Siento no poder ayudarte.

      Like

  12. Ralph says:

    Una plantilla que parece la carta de un restaurante para hablar de openSSL, jajajajajjajajajajajajajajajajajajajajajj——— SOOOY UNNN UNICOOORNIO RETRASAAAADOO !!, CORRE PLATANO

    Like

    1. svoboda says:

      Dado el tono del comentario asumo que tiene poca seriedad o ninguna. Aún así voy a contestarlo. (Por supuesto, los demás comentarios que no aportaban nada más que este han sido marcados como SPAM)
      El artículo, es una chuleta de comandos para llevar a cabo ciertas acciones con OpenSSL, y esa función la cumplió perfectamente cuando se escribió, y la sigue cumpliendo a día de hoy. No pretende ni mucho menos, ser una explicación de que es OpenSSL ni nada alrededor de esto. Es lo que es.
      En futuras ocasiones, espero que tus comentarios aporten algo más de contenido, ya que aquí estamos todos para aprender. Un saludo.

      PD: Todos aquellos comentarios que sigan la misma tónica que los anteriores, serán marcados como SPAM sin mediar más palabra.

      Like

    1. svoboda says:

      No entiendo muy bien la pregunta. Normalmente se almacenan en una ruta dentro de tu servidor, en el caso de Apache por ejemplo en APACHE_HOME/conf/ssl.crt, en otros servidores, en rutas similares. Para moverlos de un servidor a otro, los puedes copiar en cualquier parte. Si no es esta la respuesta que buscas, por favor, añade algo más texto a tu explicación. Un saludo

      Like

  13. Guillermo says:

    Buenos días
    Acudía a vosotros a ver si me podías echar una mano porque estoy un poco estancado y no consigo resolver este error.
    Tengo un fichero txt con una string en base64 y al ejecutar la siguiente comando para desencriptarlo:
    “openssl rsautl -decrypt -in base64.txt -out salida.txt -inkey privateKeyt.pem” me da el siguiente error: “rsa routines:RSA_EAY_PRIVATE_DECRYPT:data greater than mod len”
    He leído por ahí que puede ser problema de la estructura o el tamaño del base64 pero he puesto el fichero con una sola linea de string y me salía un error de padding.
    Por otro lado he probado a pasar el base64 a binario e intentar desencriptar ese fichero pero me salían los mismos errores de antes.

    Ya no se que más probar, a ver si me podéis echar una mano.
    Muchas gracias de antemano y saludos!!!

    Like

    1. svoboda says:

      Al desencriptar no lo he visto nunca, ya que suele ser un error que da al encriptar. En principio, creo que se debe a la característica del algoritmo que tiene un tamaño máximo de bloque. Suelen existir dos opciones:
      – Trocear el fichero a encriptar en trozos más pequeño que el tamaño máximo de bloque.
      – Utilizar alguna solución de encriptado basada en un password y luego cifrar dicho password con la clave pública/privada.

      La primara de ellas suele ser la más utilizada.

      ¿estás seguro que la encriptación del fichero fue correcta? A veces, he visto ese error cuando se está usando la clave pública para desencriptar, compruébalo para estar seguro, un despiste lo tiene cualquiera.

      Para finalizar, puedes lanzar una prueba encriptar y desencriptar con un fichero pequeñito a ver si todo el proceso te funciona de forma correcta.

      Espero que te sirva. Un saludo

      Like

  14. Hola buenos dias, ante todo muchas gracias por la explicacion es fantastica y facil de entender que con el tema que estamos tratando ya es un hito xD, y ahora mi problema en ciertos pasos aunque se genera lo que le pido ya sea la key privada o la del User y tal me dice al final
    unable to write random state.
    No se si eso es que no se ha realizado bien o no, ya que lo que es la key la genera pero al mostrar ese texto ya no lo se.

    Otra preguntilla una vez generado el certificado si tengo una maquina que me da problemas con el que posee instalandole este se solucionaria?, lo dicho gracias y espero una ayudilla.

    Like

    1. svoboda says:

      Sobre la primera “unable to write random state”: En las FAQ de OpenSSL tienes una respuesta: http://www.openssl.org/support/faq.html#USER2
      Básicamente, parece que tu usuario no tiene permisos de escritura sobre el fichero ~/.rnd, simplemente asígnale permisos a tu usuario sobre ese fichero y ya está. Te recomiendo que te leas la FAQ de todas formar. Si estás en window por un casual ocurre algo similar, puedes ejecutarlo todo como administrador para solucionarlo o setear una variable de entorno, no recuerdo bien ahora mismo.
      Sobre la segunda: estás generando un certificado válido si lo pones en la máquina y lo configuras todo correctamente pera usarlo, no te debería dar problemas.
      Un saludo

      Like

  15. Soy nuevo en este foro asi que pido toda la ayuda posible después de un tiempo que dejé mi federa en la versión 12 volví y reinstale el federa 16 , ocurre que necesito instalar paquetes como el gcc-c++ y también Java y netbeans pero cuando lo intente usando tu me devuelve error cannot retrieve from repositorio fedora. He leído todo lo que pude ya hice clean al clean al meta data ya coloque repositorios para adobe, gnomo y para rpm free no free updates etc pero sigo sin suerte pido si alguien me puede dar una ayuda.
    Miguel

    Like

    1. fjavierm says:

      Siento comentarte que esto no es un foro y el artículo en el que has comentado nada tiene que ver con lo que expones. Te recomiendo que te dirijas a algún foro que cubra la temática de tu incidencia o incluso a los propios foros de la comunidad de fedora. Un saludo y suerte

      Like

  16. Anonymous says:

    Excelente tu artículo, justamente estoy trabajando en firmas y certificados digitales para documentos en pdf, esto me sirve para agregarles varias firmas? gracias 🙂

    Like

  17. Mouhssin says:

    Hola svoboda,
    Tengo un certificado digital (.pfx) con clave privada, el problema es que se me olvidó la contraseña. Hay forma de saber /quitar la contraseña? Gracias y un saludo.

    Like

  18. Laura says:

    Saludos, me encantó tu post , estoy buscando referencias de OpenSSL en español , podrías proporcionarme algunas ? O alguna idea de cómo aprender bien el uso de OpenSSL para crear certificados con diferentes características? Cómo poder insertar más datos al certificado ? Habló de datos como fecha de nacimiento , edad o un número de matrícula ?, Por favor . De antemano muchas gracias.

    Like

    1. fjavierm says:

      He respondido a tu pregunta más arriba. Sobre referencias, no tengo ninguna a mano ahora mismo, pero no creo que tengas dificultad en encontrarlas con un par de búsquedas. Un saludo.

      Like

  19. svoboda Buen dia bro .amm sobre una duda sobre esta parte del tuto

    Conversión de firmas binarias a texto: Como ya he dicho antes las firmas generadas tienen un formato binario, con lo cual para su envió por correo, por ejemplo, es interesantes pasarlas a texto. Así que vamos a generar una versión en base64.

    OpenSSL> base64 -in firmado.sig -out firmado.b64

    Como puedes observar, el fichero generado es legible y fácilmente agregable a cualquier texto. el fichero generado es para compartirlo a quien yo quiera de mis contactos para que lo descifren

    Like

  20. Ivette says:

    Hola buen día. estoy trabajando con las constancias de retenciones de impuestos en Mexico, necesito obtener el sello digital del archivo key de la empresa y generar la cadena original encriptada para anexarlas a la forma37 en un pdf. Soy nueva en esto del openssl y no he encontrado alguien mas que este haciendo esto para las retenciones. Segun eso me comentaron que la cadena orginal se convertia a bsae 64, se le genera un hash y luego se encripta usando la llave privada. Ademas luego se obtiene el sello digital usando esa cadena y el archivo key con su contraseña. La verdad he intentado algunos comandos pero lo que me resulta no se parece en nada a lo que tengo de referencia de un sello y cadena generados por un proveedor. Alguien me podria orientar por favor que pasos tengo que seguir para obtener colocar la cadena original y el sello digital en las constancias de retenciones? ya tengo el layout de la cadena y los archivos CER y KEY con su contraseña. Muchas gracias de antemano.

    Like

  21. carlos soto says:

    Buenas tardes

    soy nuevo en el uso de openssl, ingresé a la sección download de la pagina openssl.org y decargue la versión openssl-1.1.0c.tar.gz pero no tengo idea de como se instala, he leido y entiendo que este es un archivo comprimido que debo instalar por linea de comando, quizas tu me puedas ayudar con un instructivo detallado para poder instalarlo, muchas gracias, quedo atento.

    Like

    1. fjavierm says:

      Si usas una distribución de GNU/Linux, probablemente, venga instalado por defecto, si no usa el gestor de paquetes de la distribución. Si usas macOS, también viene instalado creo, pero si quieres la ultima versión, lo mejor es usar un gestor de paquetes como “homebrew” o “MacPorts”. En windows no recuerdo haberlo instalado nunca, tendrás que usar un poco Google.

      Like

Leave a Reply to fjavierm Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.