Este es el comando pk12util 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
pk12util: exporta e importa claves y certificados hacia o desde un archivo PKCS # 12 y el NSS
base de datos
SINOPSIS
pk12util [-i p12File | -l p12File | -o p12File] [-d [sql:] directorio] [-h nombre de token]
[-P prefijo de base de datos] [-r] [-v] [-k slotPasswordFile | -K slotPassword]
[-w p12filePasswordFile | -W p12filePassword]
ESTADO
Esta documentación aún está en proceso. Contribuya a la revisión inicial en
Mozilla NSS error 836477[ 1 ]
DESCRIPCIÓN
La utilidad PKCS # 12, pk12util, permite compartir certificados entre cualquier servidor que
admite PKCS # 12. La herramienta puede importar certificados y claves de archivos PKCS # 12 a
bases de datos de seguridad, certificados de exportación y certificados y claves de lista.
OPCIONES Y ARGUMENTOS
Opciones
-i archivo p12
Importe claves y certificados de un archivo PKCS # 12 a una base de datos de seguridad.
-l archivo p12
Enumere las claves y certificados en el archivo PKCS # 12.
-o archivo p12
Exporte claves y certificados de la base de datos de seguridad a un archivo PKCS # 12.
Argumentos
-c claveCifrado
Especifique el algoritmo de cifrado de claves.
-C certCifrado
Especifique el algoritmo de cifrado key cert (paquete general).
-d directorio [sql:]
Especifique el directorio de la base de datos al cual importar o exportar desde certificados y
llaves.
pk12util admite dos tipos de bases de datos: las bases de datos de seguridad heredadas (cert8.db,
key3.db y secmod.db) y nuevas bases de datos SQLite (cert9.db, key4.db y pkcs11.txt).
Si el prefijo SQL: no se utiliza, entonces la herramienta asume que las bases de datos dadas están en
el formato antiguo.
-h nombre de token
Especifique el nombre del token para importar o exportar.
-k archivo de contraseña de ranura
Especifique el archivo de texto que contiene la contraseña de la ranura.
-K contraseña de ranura
Especifique la contraseña de la ranura.
-metro | --key-len longitud clave
Especifique la longitud deseada de la clave simétrica que se utilizará para cifrar la clave privada.
-norte | --cert-key-len certKeyLength
Especifique la longitud deseada de la clave simétrica que se utilizará para cifrar los certificados.
y otros metadatos.
-n nombrecertificado
Especifique el apodo del certificado y la clave privada para exportar.
-P prefijo
Especifique el prefijo utilizado en las bases de datos de claves y certificados. Esta opción se proporciona
como un caso especial. Cambiar los nombres del certificado y las bases de datos de claves no es
recomendado.
-r
Vuelca todos los datos en forma cruda (binaria). Esto debe guardarse como un archivo DER. los
predeterminado es devolver la información en un formato ASCII de letra bonita, que muestra la
información sobre los certificados y claves públicas en el archivo p12.
-v
Habilite el registro de depuración al importar.
-w p12archivoContraseñaArchivo
Especifique el archivo de texto que contiene la contraseña del archivo pkcs # 12.
-W p12contraseña de archivo
Especifique la contraseña del archivo pkcs # 12.
DEVOLUCION Codigos
· 0 - Sin error
· 1 - Usuario cancelado
· 2 - Error de uso
· 6 - Error de inicialización de NLS
· 8 - Error de apertura de la base de datos del certificado
· 9 - Error de apertura de la base de datos clave
· 10 - Error de inicialización del archivo
· 11 - Error de conversión Unicode
· 12 - Error de creación de archivo temporal
· 13 - PKCS11 obtiene error de ranura
· 14 - Error de inicio del decodificador PKCS12
· 15 - error de lectura del archivo de importación
· 16 - Error de decodificación pkcs12
· 17 - Error de verificación del decodificador pkcs12
· 18 - Error de validación de bolsas del decodificador pkcs12
· 19 - Error de bolsas de importación del decodificador pkcs12
· 20 - error de conversión de db clave de la versión 3 a la versión 2
· 21 - error de conversión de cert db versión 7 a versión 5
· 22 - error de parche de dbs de clave y certificado
· 23 - obtener error de base de datos de certificado predeterminado
· 24 - buscar certificado por error de apodo
· 25 - crear error de contexto de exportación
· 26 - PKCS12 agregar error de itegridad de contraseña
· 27 - error de creación de cajas fuertes de claves y certificados
· 28 - PKCS12 agrega certificado y error de clave
· 29 - Error de codificación PKCS12
EJEMPLOS
Importador Teclados y Certificados
El uso más básico de pk12util para importar un certificado o clave es la entrada PKCS # 12
archivo (-i) y alguna forma de especificar la base de datos de seguridad a la que se accede (ya sea -d para un
directorio o -h por una ficha).
pk12util -i p12File [-h nombre de token] [-v] [-d [sql:] directorio] [-P prefijo db] [-k
slotPasswordFile | -K slotPassword] [-w p12filePasswordFile | -W p12filePassword]
Por ejemplo:
# pk12util -i /tmp/cert-files/users.p12 -d sql: / home / my / sharednssdb
Introduzca una contraseña que se utilizará para cifrar sus claves.
La contraseña debe tener al menos 8 caracteres,
y debe contener al menos un carácter no alfabético.
Ingrese nueva clave:
Escriba la contraseña otra vez:
Ingrese la contraseña para el archivo PKCS12:
pk12util: PKCS12 IMPORTACIÓN EXITOSA
Exportación Teclados y Certificados
Usando el pk12util El comando para exportar certificados y claves requiere tanto el nombre del
certificado para extraer de la base de datos (-n) y el archivo de salida con formato PKCS # 12 para
escribir a. Hay parámetros opcionales que se pueden utilizar para cifrar el archivo a proteger.
el material del certificado.
pk12util -o p12File -n certname [-c keyCipher] [-C certCipher] [-m | --key_len keyLen]
[-n | --cert_key_len certKeyLen] [-d [sql:] directorio] [-P dbprefix] [-k slotPasswordFile | -K
slotPassword] [-w p12filePasswordFile | -W p12filePassword]
Por ejemplo:
# pk12util -o certs.p12 -n Server-Cert -d sql: / home / my / sharednssdb
Ingrese la contraseña para el archivo PKCS12:
Escriba la contraseña otra vez:
Publicaciones Teclados y Certificados
La información en un archivo .p12 no es legible por humanos. Los certificados y claves en el
El archivo se puede imprimir (enumerar) en un formato de impresión bonita legible por humanos que muestra
información para cada certificado y cualquier clave pública en el archivo .p12.
pk12util -l p12File [-h nombre de token] [-r] [-d [sql:] directorio] [-P prefijo db] [-k
slotPasswordFile | -K slotPassword] [-w p12filePasswordFile | -W p12filePassword]
Por ejemplo, esto imprime la salida ASCII predeterminada:
# pk12util -l certificados.p12
Ingrese la contraseña para el archivo PKCS12:
Llave (envuelta):
Nombre descriptivo: Identificación de Thawte Consulting (Pty) Ltd. del miembro de Thawte Freemail
Algoritmo de cifrado: PKCS # 12 V2 PBE con SHA-1 y 3KEY Triple DES-CBC
parámetros:
Sal:
45:2e:6a:a0:03:4d:7b:a1:63:3c:15:ea:67:37:62:1f
Recuento de iteraciones: 1 (0x1)
Certificado
Fecha:
Versión: 3 (0x2)
Número de serie: 13 (0xd)
Algoritmo de firma: PKCS # 1 SHA-1 con cifrado RSA
Emisor: "E =[email protected], CN = Thawte Personal Freemail C
A, OU = División de Servicios de Certificación, O = Thawte Consulting, L = Cabo T
propio, ST = Western Cape, C = ZA "
Alternativamente, el -r imprime los certificados y luego los exporta a DER separados
archivos binarios. Esto permite que los certificados se envíen a otra aplicación que admita
Archivos .p12. Cada certificado se escribe en un archivo de número secuencial, comenzando con
file0001.der y continuando con file000N.der, incrementando el número para cada
certificado:
pk12util -l prueba.p12 -r
Ingrese la contraseña para el archivo PKCS12:
Llave (envuelta):
Nombre descriptivo: Identificación de Thawte Consulting (Pty) Ltd. del miembro de Thawte Freemail
Algoritmo de cifrado: PKCS # 12 V2 PBE con SHA-1 y 3KEY Triple DES-CBC
parámetros:
Sal:
45:2e:6a:a0:03:4d:7b:a1:63:3c:15:ea:67:37:62:1f
Recuento de iteraciones: 1 (0x1)
Nombre descriptivo del certificado: Thawte Personal Freemail Emisora CA - Thawte Consulting
Nombre descriptivo del certificado: ID de Thawte Consulting (Pty) Ltd. del miembro de Thawte Freemail
CONTRASEÑA ENCRYPTION
PKCS # 12 proporciona no solo la protección de las claves privadas sino también el certificado
y metadatos asociados con las claves. El cifrado basado en contraseña se utiliza para proteger
claves privadas al exportar a un archivo PKCS # 12 y, opcionalmente, el paquete completo. Si no
se especifica el algoritmo, la herramienta utiliza por defecto PKCS12 V2 PBE con SHA1 y 3KEY Triple
DES-cbc para el cifrado de clave privada. PKCS12 V2 PBE con SHA1 y 40 Poco RC4 es el predeterminado
para el cifrado general del paquete cuando no está en modo FIPS. En el modo FIPS, no hay
cifrado de paquetes.
La clave privada siempre está protegida con un cifrado fuerte de forma predeterminada.
Se admiten varios tipos de cifrados.
Cifrados CBC simétricos para PKCS # 5 V2
· DES-CBC
· RC2-CBC
· RC5-CBC Pad
· DES-EDE3-CBC (el valor predeterminado para el cifrado de claves)
· AES-128-CBC
· AES-192-CBC
· AES-256-CBC
· CAMELIA-128-CBC
· CAMELIA-192-CBC
· CAMELIA-256-CBC
Cifrados PKCS # 12 PBE
· PKCS # 12 PBE con Sha1 y 128 Bit RC4
· PKCS # 12 PBE con Sha1 y 40 Bit RC4
· PKCS # 12 PBE con Sha1 y Triple DES CBC
· PKCS # 12 PBE con Sha1 y 128 Bit RC2 CBC
· PKCS # 12 PBE con Sha1 y 40 Bit RC2 CBC
· PKCS12 V2 PBE con SHA1 y 128 Bit RC4
· PKCS12 V2 PBE con SHA1 y 40 Bit RC4 (el valor predeterminado para el modo no FIPS)
· PKCS12 V2 PBE con SHA1 y 3KEY Triple DES-cbc
· PKCS12 V2 PBE con SHA1 y 2KEY Triple DES-cbc
· PKCS12 V2 PBE con SHA1 y 128 Bit RC2 CBC
· PKCS12 V2 PBE con SHA1 y 40 Bit RC2 CBC
Cifrados PKCS # 5 PBE
· Cifrado basado en contraseña PKCS # 5 con MD2 y DES CBC
· Cifrado basado en contraseña PKCS # 5 con MD5 y DES CBC
· Cifrado basado en contraseña PKCS # 5 con SHA1 y DES CBC
Con PKCS # 12, el proveedor de cifrado puede ser el módulo de token de software o un hardware externo
módulo. Si el módulo criptográfico no admite el algoritmo solicitado, entonces el
Se seleccionará el siguiente mejor ajuste (normalmente el predeterminado). Si no hay un reemplazo adecuado para el
se puede encontrar el algoritmo deseado, la herramienta devuelve el error no seguridad módulo can realizar
los pedido Inteligente.
NSS BASE DE DATOS TIPOS
NSS utilizó originalmente bases de datos de BerkeleyDB para almacenar información de seguridad. Las ultimas versiones
de estos legado las bases de datos son:
· Cert8.db para certificados
· Key3.db para llaves
· Secmod.db para la información del módulo PKCS # 11
BerkeleyDB tiene limitaciones de rendimiento, sin embargo, que impiden que sea fácilmente utilizado por
múltiples aplicaciones simultáneamente. NSS tiene cierta flexibilidad que permite que las aplicaciones
utilizar su propio motor de base de datos independiente mientras mantiene una base de datos compartida y funciona
en torno a los problemas de acceso. Aún así, NSS requiere más flexibilidad para proporcionar una verdadera
base de datos de seguridad.
En 2009, NSS introdujo un nuevo conjunto de bases de datos que son bases de datos SQLite en lugar de
BerkleyDB. Estas nuevas bases de datos proporcionan más accesibilidad y rendimiento:
· Cert9.db para certificados
· Key4.db para llaves
· Pkcs11.txt, que es una lista de todos los módulos PKCS # 11 contenidos en un nuevo
subdirectorio en el directorio de bases de datos de seguridad
Debido a que las bases de datos SQLite están diseñadas para ser compartidas, estas son las compartido base de datos
escribe. Se prefiere el tipo de base de datos compartida; el formato heredado se incluye para versiones anteriores
compatibilidad.
De forma predeterminada, las herramientas (certutil, pk12util, módulo) suponen que la seguridad dada
las bases de datos siguen el tipo heredado más común. El uso de las bases de datos SQLite debe realizarse manualmente
especificado mediante el SQL: prefijo con el directorio de seguridad dado. Por ejemplo:
# pk12util -i /tmp/cert-files/users.p12 -d sql: / home / my / sharednssdb
Para configurar el tipo de base de datos compartida como el tipo predeterminado para las herramientas, configure el
NSS_DEFAULT_DB_TYPE variable de entorno a sql:
exportar NSS_DEFAULT_DB_TYPE = "sql"
Esta línea se puede configurar agregada a la ~ / .bashrc archivo para que el cambio sea permanente.
La mayoría de las aplicaciones no utilizan la base de datos compartida de forma predeterminada, pero se pueden configurar para
usalos, usalos a ellos. Por ejemplo, este artículo explica cómo configurar Firefox y Thunderbird
para utilizar las nuevas bases de datos NSS compartidas:
· Https://wiki.mozilla.org/NSS_Shared_DB_Howto
Para obtener un borrador de ingeniería sobre los cambios en las bases de datos NSS compartidas, consulte el proyecto NSS
Wiki:
· Https://wiki.mozilla.org/NSS_Shared_DB
Use pk12util en línea usando los servicios de onworks.net