Class: DSACryptoPKey

@nginstack/engine/lib/crypto/DSACryptoPKey~ DSACryptoPKey


new DSACryptoPKey(bits)

Cria um novo par de chaves assimétricas (pública e privada) DSA para assinatura digital de dados. As chaves criadas são aleatórias.

Parameters:
Name Type Description
bits number

O tamanho das chaves em bits. Este parâmetro é opcional, o padrão é 1024.

Returns:

Um objeto contendo o novo par de chaves.

Type
module:@nginstack/engine/lib/crypto/DSACryptoPKey~DSACryptoPKey

Extends

Members


keyBits

Retorna o tamanho da chave em bits.

Inherited From:

keyType

Retorna o tipo da chave (DSA, RSA ou EC).

Inherited From:

Methods


exportPrivateKey(format, key, cipher)

Exporta a chave privada contida no objeto para um formato de serialização padrão. A chave privada também contém a chave pública.

Parameters:
Name Type Description
format string

O formato de saída da chave. O formato pode ser 'der' (um formato binário) ou 'pem' (um formato texto). Este parâmetro é opcional, o padrão é 'der'.

key string

Uma string para ser usada como chave (ou segredo) de uma cifra simétrica, que é usada para proteger a chave assimétrica serializada. Este parâmetro é opcional e só deve ser usado se o formato de saída for 'pem'. Se for omitido, a chave assimétrica será exportada sem proteção.

cipher string

A cifra simétrica usada para a proteção da chave assimétrica privada que é exportada. Este parâmetro é opcional e só é usado se o formato de saída for 'pem'. Se for omitido, será usada a cifra Crypto.DES3_CBC.

Inherited From:
See:
Returns:

A chave privada serializada.

Type
string

exportPublicKey(format)

Exporta a chave pública contida no objeto para um formato de serialização padrão.

Parameters:
Name Type Description
format string

O formato de saída da chave. O formato pode ser 'der' (um formato binário) ou 'pem' (um formato texto). Este parâmetro é opcional, o padrão é 'der'.

Inherited From:
See:
Returns:

A chave pública serializada.

Type
string

sign(text [, opt_digestName])

Assina digitalmente os dados passados. O objeto usado deve conter uma chave privada, DSA ou RSA.

Parameters:
Name Type Argument Description
text string

Os dados que serão assinados digitalmente.

opt_digestName string <optional>

O nome do digest a ser usado. Qualquer algoritmo suportado pelo OpenSSL pode usar usado, como 'SHA1', 'SHA256', entre outros. Se não for informado, será usado o digest MD5 para chaves RSA, e SHA1 para chaves DSA.

Inherited From:
See:
Returns:

A assinatura digital dos dados.

Type
string

verify(text, sig [, opt_digestName])

Verifica a assinatura digital dos dados passados. O objeto usado deve conter uma chave pública.

Parameters:
Name Type Argument Description
text string

Os dados que foram assinados.

sig string

A assinatura digital que será verificada junta com os dados.

opt_digestName string <optional>

O nome do digest a ser usado. Qualquer algoritmo suportado pelo OpenSSL pode usar usado, como 'SHA1', 'SHA256', entre outros. Se não for informado, será usado o digest MD5 para chaves RSA, e SHA1 para chaves DSA.

Inherited From:
See:
Returns:

Verdadeiro se a assinatura é válida, falso em caso contrário.

Type
boolean

<static> importPrivateKey(format, key, sec)

Lê uma chave privada serializada em uma string e cria um novo objeto que representa a mesma chave.

Parameters:
Name Type Description
format string

O formato da chave serializada, pode ser 'der' ou 'pem'.

key string

A chave privada que foi serializada em uma string.

sec string

Se o formato for 'pem' e a chave privada foi protegida, este argumento deve conter o segredo da cifra simétrica.

See:
Returns:

Um novo objeto contendo a chave lida.

Type
module:@nginstack/engine/lib/crypto/DSACryptoPKey~DSACryptoPKey

<static> importPublicKey(format, key)

Lê uma chave pública serializada em uma string e cria um novo objeto que representa a mesma chave.

Parameters:
Name Type Description
format string

O formato da chave serializada, pode ser 'der' ou 'pem'.

key string

A chave pública que foi serializada em uma string.

See:
Returns:

Um novo objeto contendo a chave lida.

Type
module:@nginstack/engine/lib/crypto/DSACryptoPKey~DSACryptoPKey