Referência > Referência de funções > Funções de Container > CryptGenerateSignature
 

CryptGenerateSignature

Gera a assinatura digital dos dados.

Formato 

CryptGenerateSignature(dados ; algoritmo ; chaveRSAPrivada ; senhaChave)

Parâmetros 

dados - qualquer expressão de texto da qual gerar a assinatura.

algoritmo - o nome do algoritmo criptográfico a ser usado (consulte Função CryptAuthCode).

chaveRSAPrivada - texto que representa uma chave privada RSA. Opcionalmente, a chave pode ser criptografada.

senhaChave - a senha para descriptografar a chaveRSAPrivada. Se a chaveRSAPrivada não for criptografada, o parâmetro será ignorado.

Tipo de dados retornado 

container

Originado em 

FileMaker Pro 18.0 Advanced

Descrição 

Para gerar uma assinatura, primeiro a função calcula o resumo da mensagem do parâmetro dados usando o algoritmo especificado. Em seguida, o resumo é criptografado com o parâmetro chaveRSAPrivada. Se a chave privada for criptografada, será necessário fornecer a senha como o último parâmetro, senhaChave.

Uma chave privada RSA não criptografada deve estar neste formato:

-----BEGIN RSA PRIVATE KEY-----
MIIJKQIBAAKCAgEAqqDiwrPQwVaJzOzfFVBdhNjRNRxghZVQ9a3S88so8piw0uRt
...
A4jh5ffbGA6rlv1kEt1Inq2XDnKASjnWQGltDWWTJFs/XBcfoFXHpYiVINmp
-----END RSA PRIVATE KEY-----

Uma chave privada RSA criptografada deve estar neste formato:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,B2EFE673714F681D

gMvo1cn1+Sjch4cPXT/Mty0pILnsbM5SsBPadRJJQtrGrM8LkkrRNdxYRBeIGUMj
...
lHGJJBHogUW4Ig3/kd4ROVHusRYLtyyfz13A96tIl6Y7lu2L7alNWQ==
-----END RSA PRIVATE KEY-----

Para gerar um par de chaves RSA, você pode usar o kit de ferramentas OpenSSL. Consulte www.openssl.org.

Esta função retornará uma assinatura binária de dados como dados de container, ou retornará "?" se algum dos parâmetros forem inválidos. Você pode converter os dados de container em texto usando a Função Base64EncodeRFC ou a Função HexEncode.

Notas 

Esta função não é compatível com soluções runtime e retorna "?".

Exemplo 1 

Use o algoritmo SHA-512 com uma chave privada criptografada para assinar os dados no campo de texto Tabela::TextoParaAssinar. A assinatura é retornada como texto com codificação Base64.

Base64EncodeRFC(4648 ;
CryptGenerateSignature(
Tabela::TextoParaAssinar ; "SHA512" ; Tabela::chaveRSAPrivada ; $Password
)
)

Tópicos relacionados 

Função CryptVerifySignature

Referência de funções (lista de categorias)

Referência de funções (lista em ordem alfabética)

Sobre fórmulas

Sobre funções

Definição de campos de cálculo

Utilização de operadores em fórmulas