new CryptoPKey(type, bits)
Cria um novo par de chaves assimétricas (pública e privada) para assinatura digital de dados. As chaves criadas são aleatórias.
Atenção: Esse construtor é considerado depreciado. Utilize o construtor de uma das classes filhas para tipos específicos de chave.
Parameters:
Name | Type | Description |
---|---|---|
type |
string | O tipo do par, 'DSA' ou 'RSA' |
bits |
number | O tamanho das chaves em bits. Este parâmetro é opcional, o padrão é 1024 para DSA e 2048 para RSA. |
- See:
Returns:
Um objeto contendo o novo par de chaves.
- Type
- CryptoPKey
Members
-
<static, constant> RSA_NO_PADDING :number
-
Indica que deve ser utilizado a encriptação sem padding. Utilizar esse modo na criptografia de dados de usuários é inseguro e somente deveria ser utilizado com outros mecanismos de segurança. Mais detalhes em https://www.openssl.org/docs/manmaster/crypto/RSA_public_encrypt.html.
Type:
- number
-
<static, constant> RSA_PKCS1_PADDING :number
-
Indica que deve ser utilizado o padding PKCS #1 v1.5. Atualmente esse é o formato mais utilizado. Mais detalhes em https://www.openssl.org/docs/manmaster/crypto/RSA_public_encrypt.html.
Type:
- number
-
keyBits
-
Retorna o tamanho da chave em bits.
-
keyType
-
Retorna o tipo da chave (DSA, RSA ou EC).
Methods
-
<static> importPrivateKey(format, key, arg)
-
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.
arg
string Se o formato for 'pem' e a chave privada foi protegida, este argumento deve conter o segredo da cifra simétrica. Se o formato for 'der', este argumento deve conter o tipo da chave: 'DSA' ou 'RSA'.
- See:
Returns:
Um novo objeto contendo a chave lida.
- Type
- CryptoPKey
-
<static> importPublicKey(format, key, type)
-
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.
type
string Se o formato da chave for 'der', o tipo da chave deve ser informado: 'DSA' ou 'RSA'.
- See:
Returns:
Um novo objeto contendo a chave lida.
- Type
- CryptoPKey
-
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.
- 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'.
- 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.
- 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.
- See:
Returns:
Verdadeiro se a assinatura é válida, falso em caso contrário.
- Type
- boolean