Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Portuguese
Pagetitle
PrivVeryRSA
PrivVeryRSA

Verifica um determinado conteúdo assinado, usando a chave pública.

Sintaxe

Bloco de código
languagecpp
collapsefalse
PrivVeryRSA( < cPathKey >, < cContent >, < nTipo >, < cAssinadocAssinatura >, [ @cErrStr ], [ nPad ] ) --> lRet 

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cPathKey

caractere

Indica o caminho path da chave pública que deve ser no formato do arquivo .PEM.

X


cContent

caractere

Indica o valor que será verificado, com um conteúdo já assinado.

X


nTipo

numérico

Indica o tipo de algoritmo que será utilizado para verificar a assinatura.

X


cAssinatura

caractere

Indica uma string que contém o valor da assinatura gerada mediante a aplicação da chave privada criptografada.

X


cErrStr

caractere

Indica a variável para retornar as mensagens de erro.


X

nPad

numérico

Indica o tipo de schema de criptografia que será utilizado.



Retorno

Nome

Tipo

Descrição

lRet

lógico

Retorna verdadeiro (.T.) se o valor informado no parâmetro cContent está de acordo com o valor enviado que foi assinado pelo tipo nTipo e a chave informada cPathKey. Caso contrário, falso (.F.).

Observações

  • Essa função utiliza uma chave pública para verificar a assinatura. Para isso, é necessário informar o caminho (path) da chave pública no parâmetro cPathKey e, em seguida, o conteúdo cContent, um numérico nTipo que informa o tipo de algoritmo que será utilizado para realizar a assinatura e finalmente é passado o valor assinado.
  • Tipo de algoritmo válido para o parâmetro nTipo:

    Valor

    Algoritmo

    1

    MD5

    2

    SHA1

    3

    RIPEMD160

    4

    MD5_SHA1

    5

    SHA256WithRSA

    6SHA256
  • Tipo de schema válido para o parâmetro nPad:

    Valor

    Schema

    1

    PKCS1

    2

    SSL

    3

    NO

    4

    PKCS1_OAEP

    5

    X931

  • Caso não seja passado nenhum schema de criptografia (nPad), a rotina assume com padrão o schema 1 - PKCS1.
  • O valor 5 e 6 no parâmetro nTipo estão disponíveis em builds superiores a 121227P.
  • Caso seja informado no parâmetro cPathKey caminho de arquivos no client, será adicionado ao parâmetro cErrStr a mensagem "[PrivVeryRSA] Only server path are allowed." e retornará Nil.

Exemplos

Bloco de código
languagecpp
themeEclipse
titleExemplo 1
linenumberstrue
collapsefalse
User Function RSA_Very()
  Local sStr := '01234567890123456789' 
  Local sOut := ''  
  
  sStr := Md5( sStr )  
  varinfo( '1',  sStr )  
  
  sOut := PrivSignRSA( 'private.pem', sStr, 1, 'senhachaveprivada' )                    
  varinfo( 'sOut',  sOut ) 
  
  conout( PrivVeryRSA( 'public.pem', sStr, 1, sOut ) )
Return

Abrangência

Advanced Protheus 7.10, Microsiga Protheus 8.11, Protheus 10, TOTVS Application Server 10