Árvore de páginas
Ir para o final dos metadados
Ir para o início dos metadados

Extrai as informações referentes a um arquivo de certificados no formato .PEM (Privacy Enhanced Mail).

Sintaxe

PEMInfo( < cFile >, [ cPassword ], [hashAlgorithm] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cFile

caractere

Indica o caminho do arquivo .PEM, a partir do diretório raiz (RootPath) do TOTVS Application Server.

X


cPassword

caractere

Indica a senha para extrair os dados do arquivo PEM.



hashAlgorithmnumericIndica o algoritmo de hash que deverá ser usado para o cálculo do Digest do Certificado. Default: Sha1

Retorno

Nome

Tipo

Descrição

aRet

vetor

Retorna um vetor com as informações referente aos certificados existentes no arquivo PEM.

Observações

  • Cada item do vetor representa um certificado contido dentro do arquivo PEM.
  • Dados retornados para cada certificado:

    Índice

    Dado

    1

    Versão do Certificado

    2

    Destinatário

    3

    Emissor

    4

    Data de Validade Inicial

    5

    Data de Validade Final

    6Número serial
    7Assinatura do certificado - Base64
    8Assinatura do certificado - Hexadecimal



  • O Digest Cert Value é uma representação numérica do conteúdo do certificado calculado por uma função hash. O Algoritmo de hash deverá ser informado de acordo com a tabela abaixo:

    Valor

    Algoritmo

    3

    SHA1

    4

    SHA224

    5

    SHA256

    6

    SHA384

    7

    SHA512

    Caso o parâmetro não seja informado, por default, será gerado o digest value utilizando o algoritmo de hash SHA1.  Este recurso será disponibilizado a partir do build version 13.1.3.37 / 13.2.3.37.


  • Caso seja informado um caminho de arquivo no client será gerada uma exceção com a mensagem: "Only server path are allowed (PEMInfo)".
  • Caso o arquivo PEM contenha uma chave, a função retornará um vetor sem elementos.
  • Em caso de erro, a função retornará Nil.

Exemplos

Exemplo 1
user function getPEMInfo()
  Local cFile := "\certs\tests.pem"
  Local aRet := {}
  
  aRet := PEMInfo( cFile )
  varinfo( "PEM", aRet )
Return

Abrangência

Microsiga Protheus 8.11