Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/3279126062824/newLayouttecnologia.css
Expand ALL
Portuguese
Pagetitle
PrivSignRSA
PrivSignRSA
Função:
PrivSignRSA

Assina

um

determinado

conteúdo

usando

chave

privada.

Sintaxe

Bloco de código
languagecpp
collapsefalse
PrivSignRSA( <
cPathKey>
 cPathKey >, <
cContent>
 cContent >, <
nTipo>
 nTipo >, <
cAssinado>
 cAssinado >, [
cErrStr
 @cErrStr ], [ nPad ] ) --> cRet 

Parâmetros

/Elementos

Nome

Tipo

Descrição

Obrigatório

Referência

cPathKey

Caracter

caractere

Indica a string que contém o caminho para a chave privada

. Observação: A chave deve estar no formato *

(formato .PEM).

X

 

cContent

Caracter

caractere

Indica a string que será assinada.

X

 

nTipo

Numérico

numérico

Indica o tipo de algoritmo que será utilizado para realizar a assinatura da chave

. Para mais informações do tipos válidos, consulte a área Observações

.

X

 

cAssinado

Caracter

caractere

Indica uma string que contém o valor assinado.

X

 

cErrStr

Caracter

caractere

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

 

X

nPad

Numérico

numérico

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

Para mais informações do tipos válidos, consulte a área Observações.

  

Retorno

cRet(caracter)

Nome

Tipo

Descrição

cRet

caractere

Retorna o valor

,

do parâmetro

<cContent>

cContent, assinado, de acordo com o tipo

<nTipo>

nTipo e a chave privada informada

<cPathKey>

cPathKey.

Observações

  • Essa função utiliza a chave privada para realizar a assinatura. Para isso, é necessário informar o caminho (path) da chave privada (formato .PEM), no parâmetro
<cPathKey>,
  • cPathKey e, em seguida, o conteúdo
<cContent>
  • cContent que se deseja assinar e finalmente um numérico que informa o tipo de algoritmo que será utilizado para realizar a assinatura
<nTipo>
  • nTipo.
  • O arquivo .PEM informado

,
  • no parâmetro

<cPathArray>,
  • cPathKey deve conter uma chave privada, tais como:

 
  • Chave

privada
  • Privada

Certificada
  • Certificado

    CA

 
  • (Certificate Authority)

  • Tipo de algoritmo

válido para o parâmetro
  • válido para o parâmetro nTipo:

    Valor

    Algoritmo

  • 1

MD5 
  • MD5

  • 2

SHA1 
  • SHA1

  • 3

RIPEMD160 
  • RIPEMD160

  • 4

    MD5_

SHA1 
  • SHA1

    5

 
  • SHA256WithRSA

  • Tipo

de schema de criptografia válido para o parâmetro
  • de schema válido para o parâmetro nPad:

    Valor

    Schema

  • 1

    PKCS1

  • 2

    SSL

  • 3

    NO

Observação
  • 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 no parâmetro nTipo está disponível 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 "[PrivSignRSA] Only server path are allowed." e retornará Nil.

Exemplos

Bloco de código
themeEclipse
languagecpp
titleExemplo 1
linenumberstrue
collapsefalse
Exemplos
User Function RSA_Sign()
  Local sStr := "01234567890123456789"
  Local sOut := ""
  
  sStr := Md5( sStr )
  varinfo( "1",  sStr )
  
  sOut := PrivSignRSA( "private.pem", sStr, 1, "assinatura" )

  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, ByYou Application Server