FirebirdSQL logo

RSA_SIGN_HASH()

Disponible en

DSQL, PSQL

Syntaxe
RSA_SIGN_HASH (<data> KEY <private_key> [HASH <hash>] [SALT_LENGTH <length>])

<hash> ::= { MD5 | SHA1 | SHA256 | SHA512 }
Table 1. paramètres de fonction RSA_SIGN_HASH
Paramètre Description

data

Données (chaîne ou BLOB) à encoder.

private_key

La clé privée RSA retournée par la fonction RSA_PRIVATE.

hash

Algorithme de hachage. La valeur par défaut est SHA256.

length

Indique la longueur du sel souhaité et doit généralement être petite. Une bonne valeur se situe entre 8 et 16.

Le type de résultat renvoyé :

VARBINARY

Effectue le codage PSS du condensé du message pour la signature et le signe en utilisant la clé privée RSA. Renvoie la signature du message.

Example 1. Utilisation de la fonction RSA_SIGN_HASH

La clé privée doit être initialisée plus tôt voir l’exemple dans [fblangref-scalarfuncs-rsa_private].

select rdb$set_context('USER_SESSION', 'msg',
    rsa_sign_hash(crypt_hash('Test message' using sha256)
                  key rdb$get_context('USER_SESSION', 'private_key')))
from rdb$database;

RSA_VERIFY_HASH()

Disponible en

DSQL, PSQL

Syntaxe
RSA_VERIFY_HASH (<data> SIGNATURE <signature> KEY <public_key> [HASH <hash>]
  [SALT_LENGTH <length>])

<hash> ::= { MD5 | SHA1 | SHA256 | SHA512 }
Table 1. paramètres de fonction RSA_VERIFY_HASH
Paramètre Description

data

Données (chaîne ou BLOB) à encoder.

signature

Signature. Doit être la valeur renvoyée par la fonction RSA_SIGN_HASH.

public_key

La clé publique RSA retournée par la fonction RSA_PUBLIC.

hash

Algorithme de hachage. La valeur par défaut est SHA256.

length

Indique la longueur du sceau souhaité et doit généralement être petite.Une bonne valeur se situe entre 8 et 16.

type de résultat de retour

BOOLEAN

Effectue le codage PSS du condensé du message pour la signature et vérifie sa signature numérique en utilisant la clé publique RSA. Renvoie le résultat de la vérification de la signature.

Example 1. Utilisation de la fonction RSA_VERIFY_HASH

La clé publique doit être initialisée plus tôt voir exemple dans [fblangref-scalarfuncs-rsa_public]. La signature numérique est obtenue plus tôt avec [fblangref-scalarfuncs-rsa_sign_hash].

select rsa_verify_hash(crypt_hash('Test message' using sha256)
    signature rdb$get_context('USER_SESSION', 'msg')
    key rdb$get_context('USER_SESSION', 'public_key'))
from rdb$database;