TrustPort eSign: Línea de comandos: administración de almacenamientos en disco

Cuando se usa este modo, se trabaja directamente con el almacenamiento en un disco. En este caso, se pueden usar todos los parámetros para trabajar con archivos, excepto -r y -s, que sólo tienen sentido para los archivos externos. Veamos un ejemplo en el que se firma el archivo en el almacenamiento y se redirecciona la salida a otro archivo (externo): esign -f archivo -m sgn -o salida.sgn.

Establecimiento del modo

En este caso también se realiza mediante el parámetro -m método_abreviado_modo o --mode=método_abreviado_modo. El método abreviado del modo puede ser uno de los siguientes:

  • sgn ... se firma un archivo,
  • enc ... se cifra un archivo,
  • sge ... se firma y cifra un archivo,
  • dec ... se descifra o comprueba un archivo,
  • esg ... se crea una firma extra,
  • tsa ... se crea una marca de tiempo (sólo para los archivos ya firmados),
  • sgt ... se firma un archivo y se agrega una marca de tiempo,
  • tst ... se crea un archivo con una marca de tiempo.

Especificación del tipo de almacenamiento

Si desea especificar un tipo de almacenamiento, dispone de los parámetros -c tipo_almacenamiento o --choosestorage=tipo_almacenamiento, donde tipo_almacenamiento corresponde a uno de las alternativas siguientes:

Especificación del almacenamiento

Se realiza en la línea de comandos mediante los parámetros -l nombre_almacenamiento o --localstorage=nombre_almacenamiento. Se debe especificar el tipo de almacenamiento, a menos que se desee uno local. Si no se selecciona ningún almacenamiento, se utilizará el predeterminado. Tenga en cuenta que en ninguna circunstancia se puede modificar el almacenamiento predeterminado mediante el almacenamiento preferido de la configuración. Si esign.exe está instalado en C:\Archivos de programa\TrustPort eSign\bin, el almacenamiento predeterminado se guarda en: C:\Archivos de programa\TrustPort eSign\storage, es decir, siempre en ..\directorio de almacenamiento del programa determinado. Este almacenamiento no se puede reubicar en ningún otro lugar. Tras la instalación, este almacenamiento se identifica como Valor predeterminado local. Use el parámetro mencionado para usar cualquier otro almacenamiento cuando trabaje con el programa.

Ejemplo de cifrado de un archivo en un almacenamiento local esign -f archivo.txt -l almacenamiento -c local -m enc.

Adición de un almacenamiento

Se puede agregar un almacenamiento nuevo mediante -A nombre_almacenamiento o --addstorage=nombre_almacenamiento. Si no se especifican otros parámetros, la ruta de acceso del nuevo almacenamiento se generará automáticamente.

El parámetro --storagepath=ruta permite especificar una ruta de acceso a este almacenamiento local, por ejemplo, esign -A "mi_nuevo_almacenamiento" --storagepath=c:\almacenamiento\nombre_almacenamiento.

Eliminación de un almacenamiento

Cuando un almacenamiento ya no es útil, se puede quitar. También se puede optar por eliminar físicamente el almacenamiento del disco. Para ello, use -D nombre_almacenamiento o --deletestorage=nombre_almacenamiento, por ejemplo, esign -D "mi_nuevo_almacenamiento". Puesto que siempre existe un almacenamiento local predeterminado, si se elimina, se volverá a crear cuando se ejecute la siguiente operación en el almacenamiento. Cuando se elimina un almacenamiento, se puede eliminar físicamente el contenido del disco mediante el parámetro --forcedelete.

Listado de contenido del almacenamiento

Si necesita conocer el contenido de un almacenamiento, utilice --storagecontent (por ejemplo, esign -l "mi_almacenamiento" --storagecontent).

Importación de un archivo a un almacenamiento

Se puede importar en el almacenamiento cualquier archivo de tipo compatible. Los tipos de archivo compatibles son los .CER, .BIN o .PEM que contienen un certificado de destinatario, los .P7C o .P7B con uno o varios certificados de destinatario, los tipos de archivo .P12 y .PFX que contienen un par de claves y un archivo del tipo .CRL con una lista de certificados revocados. Si se importa un archivo CRL, la información que contiene se aplicará inmediatamente en el almacenamiento. El parámetro para empezar la importación es -i -f nombre_archivo o --importar --archivo=filename , por ejemplo esign -i -f key_pair.p12 --no-password .

Se puede definir el alias para la clave (-K nombre o --keyalias=nombre), el certificado (-E nombre o --certifalias=nombre) y CRL (--crlalias=nombre).

Aplicación de CRL

Si desea aplicar directamente CRL, use el parámetro -a o --applyCRL. Si se encuentra algún certificado revocado, recibirá una nota y lo podrá eliminar. Esta función, disponible únicamente para almacenamientos locales, se puede usar si se ha importado un certificado nuevo en el almacenamiento después de haber aplicado la CRL.

Comprobación de la validez de los objetos de un almacenamiento

Si desea comprobar la validez de los objetos de un almacenamiento, use --verifysigns. La operación comprobará y definirá la validez de cada certificado. También buscará CRL, comprobará y definirá su validez y finalmente las aplicará en cada certificado del almacenamiento. Si se encuentra algún certificado revocado, tendrá la posibilidad de eliminarlo.

La propiedad de validez del certificado se establece durante la comprobación de validez.

Exportación a un archivo

Un objeto se puede exportar a un archivo de diversos tipos. Un certificado se puede exportar a un archivo .CER, .BIN o .PEM. Uno o varios certificados se pueden exportar a un archivo .P7C o .P7B. Los tipos .P12 y .PFX están protegidos con contraseña y pueden servir para contener un par de claves. La exportación en sí se realiza por medio de -e -f archivo o --exportar --archivo=filename , donde el parámetro de archivo indica el nombre del archivo al que desea exportar objetos Use -T tipo o --filetype=tipo para escoger el tipo de este archivo, donde tipo señala el tipo del archivo que se va a obtener. También se puede elegir un tipo de archivo interno. El tipo de archivo interno predeterminado es binario, pero si emplea -F tipo_archivo o --filetype=tipo_archivo, podrá escoger entre BASE64 o BASE64 con finalizadores.

Ejemplo de exportación de un par de claves a keypair.p12 en BASE64 con formato de finalizadores: esign -e -f "par_claves.p12" -T p12 -F TRAIL.

Es posible precisar la selección con -O patrón u --object=patrón. Se pasa una ruta de certificado completa cuando se exporta un par de claves.

Visualización de los detalles del objeto

Use los parámetros -d o --details para hacer que el programa proporcione los detalles del objeto. Con -O patrón se puede especificar de forma más exacta el objeto en el que está interesado, mientras que el parámetro -T tipo permite seleccionar el tipo de objeto (clave privada, certificado, CRL). Ejemplo: esign -d -O DSA -l almacenamiento -T clave.

Generación de un par de claves o una solicitud de certificado

Con los parámetros -g o --generate se puede generar un nuevo objeto. Se puede modificar la solicitud de par de claves o certificado que se va a obtener especificando otros detalles, como el nombre de la clave privada, su algoritmo o la forma de generación. Por ejemplo: esign -g -K alias_clave -E alias_certificado -k 1024 -b DSA.

Nombre del nuevo objeto

Es posible especificar un nombre para un objeto recién generado. Para una clave privada, se usa -K alias_clave o --keyalias=alias_clave y para un certificado, -E alias_certificado o --certalias=alias_certificado. El alias de CRL se especifica como --crlalias=alias_CRL. Cada alias debe ser único en el almacenamiento.

Algoritmos admitidos

El parámetro --storageinfo permite obtener información sobre los algoritmos admitidos. A menos que se especifique -c tipo_almacenamiento o --choosestorage=tipo_almacenamiento, la operación se ejecutará en el almacenamiento local.

Especificación del tipo de algoritmo

También se puede elegir el algoritmo de la clave pública antes de que empiece la generación con -b tipo y --pubkeyalgorithm=tipo, donde tipo es uno de los valores RSA, ELLIPTIC, DSA o DH. Además, -n tipo o --signalgorithm=tipo permiten elegir el algoritmo usado para firmar, donde tipo es uno de los valores SHA-1, SHA-256, SHA-512, SHA-256, RIPEMD-160 o MD-5.

Longitud de la clave privada

Si se ha generado un par de claves y se debe cambiar la longitud de la clave (o si se desea cambiar el algoritmo de la clave), se debe usar el parámetro -k longitud o --keylength=longitud para definir la longitud de la clave. es recomendable conocer las combinaciones de longitud de algoritmo o clave permitidas. Por ejemplo, no se pueden crear claves DSA o DH con una longitud de 512 o 768 bits, pero sí con RSA.

Creación de un certificado o una solicitud de certificado

Los parámetros -M tipo o --certificatemode=tipo permiten elegir entre el certificado autofirmado (opción predeterminada) o solicitud para crear una solicitud de certificado.

Métodos para crear un par de claves

-G tipo o --generationmode=tipo permiten seleccionar cómo se creará el par de claves. Los tipos posibles son into-storage (opción predeterminada que genera el par en la memoria y luego lo importa en el almacenaje), by-storage (que sólo se usa para testigos y tarjetas de chips), save-to-file (para guardar el par en un archivo .p12) y un modo especial save-separate (que crea por separado un certificado y una clave que se almacenan en formato OpenSSL).

Tipo de archivo

El tipo de archivo generado o exportado se puede seleccionar mediante el parámetro -F tipo o --filetype=tipo. Los valores permitidos para el tipo son los siguientes: PEM (codificación BASE64), TRAIL (BASE64 con codificación de finalizadores) y BIN -(codificación binaria).

Especificación de una contraseña

En ocasiones (por ejemplo, al generar una contraseña), se debe especificar una contraseña de clave privada o una contraseña de archivo. Se puede elegir entre dos opciones de uso de la contraseña:

  • Cuando no se establece ninguna contraseña (es decir, que se deja en blanco), se debe usar el parámetro --no-password,
  • Cuando se establece una contraseña (es decir, que no se deja en blanco), se debe usar el parámetro --password=su_contraseña. Cuando se usan ambos parámetros, tiene prioridad éste.

Validez del certificado

Cada certificado tiene asignado un valor de validez. El valor predeterminado es de un año, pero se puede prolongar con el parámetro --validity=año.

Eliminación de los objetos de un almacenamiento

Si desea eliminar un objeto de un almacenamiento, use una de las formas -R alias o --removeobject=alias. Tenga en cuenta que se debe especificar el tipo de objeto (-T tipo o --storageobject), pues dos objetos de distinto tipo (como una clave y un certificado) pueden tener el mismo nombre. Ejemplo: esign -R alias -T clave.

Si se elimina una clave, también se debe eliminar el certificado correspondiente, pues sin la clave privada, el certificado, de todos modos, resulta inútil. Existe el parámetro --deleteonlykey por si realmente se desea eliminar únicamente la clave privada.

Especificación del tipo de objeto

Para el tipo de especificación de objeto planteada, use -T tipo_objeto o --storageobject=tipo_objeto, donde tipo_objeto define el tipo de objeto necesario. A continuación se muestran los valores que se pueden especificar para tipo_objeto: key, certificate, keypair, crl, storage, cer, p7c y p12.

Este parámetro se usa en más contextos, por lo que tiene varios valores posibles. Sin embargo, esto no significa que se puede usar cualquiera de estos valores en cualquier situación. La exportación sólo se permite para los tipos básicos, es decir, cer, p7c, p12 y crl. La visualización de detalles sólo se puede ejecutar para: key, certificate y crl para los objetos de un almacenamiento, y cer, p7c, p12 y crl para archivos. Sólo se puede cambiar el nombre de los tipos storage, key, certificate y crl, mientras que se pueden eliminar key, certificate, keypair y crl.

Modificación de una contraseña

La aplicación permite cambiar la contraseña tanto de las claves privadas como de los archivos .p12. Para cambiar la contraseña de una clave privada, use -P alias o --changepassword=alias. Para cambiar la contraseña de un archivo .p12, use -p nombre_archivo o --changep12password=nombre_archivo.

Para cambiar una contraseña y especificar una nueva al mismo tiempo, use --newpassword=contraseña. Ejemplo: esign -P clave --password p14%_l --newpassword SaDz15_Q+. Por supuesto, en este caso también se puede usar --no-password.

Modificación del nombre

Para cambiar el nombre de un objeto de un almacenamiento o el nombre de un almacenamiento en sí, use -C nombre o --changename=nombre. El parámetro nombre especifica el nombre del objeto del cual se desea cambiar el nombre. También es necesario especificar el tipo de objeto mediante -T tipo o --storageobject=tipo. Ejemplo: esign -C predeterminado -T almacenamiento

Se puede especificar el nombre de un objeto nuevo (además de cambiar un nombre) mediante el parámetro -N nuevo_nombre o --newname=nuevo_nombre, por ejemplo, esign -C predeterminado -T almacenamiento -N "mi almacenamiento"

Selección por patrón

En ocasiones, deseará seleccionar un objeto, pero no conoce sus parámetros exactamente o sólo conoce su nombre y, por lo tanto, no desea tener que buscarlo entre todos los objetos del almacenamiento. En este caso, resulta útiles los parámetros -O patrón u --object=patrón. Por ejemplo, imagine que tiene que cifrar el archivo datos.doc dirigido a Juan Sanz. Imaginemos que tiene el certificado de Juan que contiene su nombre, pero no conoce el nombre del certificado: esign -f datos.doc -m enc -O "Juan Sanz".

Si conoce el nombre exacto del objeto, puede especificarlo con -w o --wholename. Con este parámetro, sólo se encontrarán los objetos que coincidan exactamente con los criterios especificados (a diferencia del comportamiento predeterminado, en el que se consideran válidas incluso las coincidencias parciales). Pongamos como ejemplo dos certificados: el primero contiene el nombre Juan Sanz, y el segundo sólo Sanz. Si ejecuta -O Sanz, se encontrarán ambos certificados; no obstante, si se agrega -w, sólo se encontrará el segundo.

Los parámetros -B patrón u --object2=patrón sólo se pueden usar cuando se define -m sge (modo de firma y cifrado). En este caso, se usa el objeto seleccionado por -O para la firma, mientras que se usa -B para el cifrado. Ejemplo: esign -f datos.doc -m sge -O RSA512 -B "Juan Sanz".

Especificación de una autoridad de marca de tiempo

Para agregar una marca de tiempo, se debe haber asignado y definido correctamente la autoridad de marca de tiempo (TSA). Esto se puede realizar mediante los parámetros -I dirección:puerto o --timestampauthority=dirección:puerto para especificar la dirección y el puerto en el que la TSA acepta solicitudes y envía respuestas.

Se debe seleccionar un almacenamiento que contenga el certificado de TSA cuando se define la autoridad de marca de tiempo. El parámetro --authorityname=nombre permite especificar el nombre de la TSA. Se buscará el almacenamiento predeterminado de forma predeterminada, pero este comportamiento se puede modificar mediante -l. El nombre del certificado se puede definir con el parámetro -E. A continuación, se debe especificar el parámetro --addTSA.

Ejemplo: esign -I "http://time.trustport.cz:8000/" -E TSAcertif --authorityname=TSA --addTSA.

Trabajo con una marca de tiempo

Es posible agregar una marca de tiempo a cualquier archivo cifrado (modo sgn) o con una firma independiente (modo esg). No obstante, se debe elegir la autoridad de marca de tiempo con --authorityname="AEC TSA" o bien mediante los parámetros -I dirección:puerto o --timestampauthority=dirección:puerto. El certificado de la autoridad se puede elegir con el parámetro --TSAcertif=certificado.

Ejemplo:

  • esign -f archivo.sgn -m tsa -I "http://time.trustport.cz:8000/" --TSAcertif=TSAcertificado.cer ... selección directa de autoridad de marca de tiempo
  • esign -f archivo.sgn -m tsa -I "http://time.trustport.cz:8000/" ... la selección ya definió la autoridad de marca de tiempo mediante la dirección
  • esign -f archivo.sgn -m tsa --authorityname=TSA ... la selección ya definió la autoridad de marca de tiempo mediante su nombre

Sin embargo, todas estas operaciones se pueden realizar conjuntamente mediante los modos sgt o esg con los parámetros apropiados.

Ejemplo: esign -f archivo -m est -s par_claves.p12 -I "http://time.trustport.cz:8000/" --TSAcertif=certificadoTSA.cer.

Existe una nueva característica del producto que permite crear únicamente una marca de tiempo con el HASH de un mediante el modo -m tst. Por supuesto, en este caso también se necesitan los parámetros de la autoridad de marca de tiempo usada.

Ejemplo: esign -f archivo -m tst -I "http://time.trustport.cz:8000/" --TSAcertif=certificadoTSA.cer.

Sin embargo, cuando se trabaja en un almacenamiento, no es necesario especificar el nombre de la TSA, pues se selecciona automáticamente la TSA predefinida. Este valor predefinido se puede cambiar en la sección TimeStamp de la configuración.

Ejemplo: esign -f archivo -m tst.

Referencias relacionadas

Página principal
Línea de comandos
Operaciones con archivos
Operaciones con testigos y tarjetas de chips
Trabajo con almacenamientos LDAP y almacenamientos híbridos


Copyright © 2010, TrustPort, a.s., reservados todos los derechos.