rsautlssl: en línea en la nube

Este es el comando rsautlssl que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


rsautl - utilidad RSA

SINOPSIS


openssl rsautl [-in presentar] [-fuera presentar] [-inkey presentar] [-pubina] [-certino] [-firmar] [-verificar]
[-encriptar] [-descriptar] [-pkcs] [-ssl] [-crudo] [-volcado hexadecimal] [-asn1parse]

DESCRIPCIÓN


La pestaña rsautl El comando se puede usar para firmar, verificar, encriptar y desencriptar datos usando RSA
algoritmo.

COMANDO OPCIONES


-in nombre de archivo
Esto especifica el nombre del archivo de entrada para leer los datos o la entrada estándar si esta opción
no se especifica

-fuera nombre de archivo
especifica el nombre del archivo de salida para escribir o la salida estándar de forma predeterminada.

-inkey presentar
el archivo de clave de entrada, por defecto debe ser una clave privada RSA.

-pubina
el archivo de entrada es una clave pública RSA.

-certino
la entrada es un certificado que contiene una clave pública RSA.

-firmar
firmar los datos de entrada y generar el resultado firmado. Esto requiere una clave privada RSA.

-verificar
Verifique los datos de entrada y envíe los datos recuperados.

-encriptar
cifrar los datos de entrada utilizando una clave pública RSA.

-descriptar
descifrar los datos de entrada utilizando una clave privada RSA.

-pkcs, -oaep, -ssl, -crudo
el relleno a utilizar: PKCS # 1 v1.5 (el predeterminado), PKCS # 1 OAEP, relleno especial utilizado en
Apretones de manos compatibles con versiones anteriores de SSL v2, o sin relleno, respectivamente. Para firmas,
único -pkcs y -crudo puede ser usado.

-volcado hexadecimal
hexadecimal volca los datos de salida.

-asn1parse
asn1parse los datos de salida, esto es útil cuando se combina con el -verificar .

NOTAS


rsautl debido a que usa el algoritmo RSA directamente, solo se puede usar para firmar o verificar pequeños
piezas de datos.

EJEMPLOS


Firma algunos datos con una clave privada:

openssl rsautl -iniciar sesión -archivo de entrada -inkey key.pem -out sig

Recuperar los datos firmados

openssl rsautl -verify -in sig -inkey key.pem

Examine los datos sin procesar firmados:

openssl rsautl -verificar -en archivo -inkey key.pem -raw -hexdump

0000 - 00 01 ff ff ff ff ff ff-ff ff ff ff ff ff ff ................................
0010 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ................
0020 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ................
0030 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ................
0040 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ................
0050 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ................
0060 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ................
0070 - ff ff ff ff 00 68 65 6c-6c 6f 20 77 6f 72 6c 64 ..... hola mundo

El formato de bloque PKCS # 1 es evidente a partir de esto. Si esto se hizo usando cifrar y
descifrar el bloque habría sido de tipo 2 (el segundo byte) y datos de relleno aleatorios
visible en lugar de los bytes 0xff.

Es posible analizar la firma de certificados utilizando esta utilidad en conjunto
con asn1parse. Considere el ejemplo autofirmado en certs / pca-cert.pem. Corriendo asn1parse
como sigue rinde:

openssl asn1parse -en pca-cert.pem

0: d = 0 hl = 4 l = 742 contras: SECUENCIA
4: d = 1 hl = 4 l = 591 contras: SECUENCIA
8: d = 2 hl = 2 l = 3 contras: cont [0]
10: d = 3 hl = 2 l = 1 prim: INTEGER: 02
13: d = 2 hl = 2 l = 1 prim: INTEGER: 00
16: d = 2 hl = 2 l = 13 contras: SECUENCIA
18: d = 3 hl = 2 l = 9 prim: OBJETO: md5WithRSAEncryption
29: d = 3 hl = 2 l = 0 prim: NULL
31: d = 2 hl = 2 l = 92 contras: SECUENCIA
33: d = 3 hl = 2 l = 11 contras: SET
35: d = 4 hl = 2 l = 9 contras: SECUENCIA
37: d = 5 hl = 2 l = 3 prim: OBJETO: countryName
42: d = 5 hl = 2 l = 2 prim: PRINTABLESTRING: AU
....
599: d = 1 hl = 2 l = 13 contras: SECUENCIA
601: d = 2 hl = 2 l = 9 prim: OBJETO: md5WithRSAEncryption
612: d = 2 hl = 2 l = 0 prim: NULL
614: d = 1 hl = 3 l = 129 prim: BIT STRING

El BIT STRING final contiene la firma real. Se puede extraer con:

openssl asn1parse -in pca-cert.pem -out sig -noout -strparse 614

La clave pública del certificado se puede extraer con:

openssl x509 -in test / testx509.pem -pubkey -noout> pubkey.pem

La firma se puede analizar con:

openssl rsautl -in sig -verify -asn1parse -inkey pubkey.pem -pubin

0: d = 0 hl = 2 l = 32 contras: SECUENCIA
2: d = 1 hl = 2 l = 12 contras: SECUENCIA
4: d = 2 hl = 2 l = 8 prim: OBJETO: md5
14: d = 2 hl = 2 l = 0 prim: NULL
16: d = 1 hl = 2 l = 16 prim: OCTET STRING
0000 - f3 46 9e aa 1a 4a 73 c9-37 ea 93 00 48 25 08 b5 .F ... Js.7 ... H% ..

Esta es la versión analizada de una estructura ASN1 DigestInfo. Se puede ver que el resumen
utilizado fue md5. La parte real del certificado que se firmó se puede extraer con:

openssl asn1parse -in pca-cert.pem -out tbs -noout -strparse 4

y su resumen calculado con:

openssl md5 -c cucharadas
MD5(tbs)= f3:46:9e:aa:1a:4a:73:c9:37:ea:93:00:48:25:08:b5

que se puede ver concuerda con el valor recuperado arriba.

Utilice rsautlssl en línea utilizando los servicios de onworks.net



Últimos programas en línea de Linux y Windows