Á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/6062824/tecnologia.css

Pagetitle
HTTPSSLClient
HTTPSSLClient

Define em memória as configurações para conexão SSL.

Sintaxe

Bloco de código
collapsefalse
HTTPSSLClient( < nSSL2 >, < nSSL3 >, < nTLS1 >, < cPassword >, < cCertPath >, < cKeyPath >, < nHSM >, [ lClient ], [ nVerbose ], [ nBugs ], [ nState ], [ cCACertPath ] )

 

Carrega um certificado cliente a partir de um HSM para ser utilizado via HTTP.

Sintaxe

...

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

nSSL2

...

numérico

Habilita/Desabilita SSL2.

X

 

nSSL3

...

numérico

Habilita/Desabilita SSL3.

X

 

nTLS1

...

numérico

Habilita/Desabilita TLS1.

X

 

cPassword

...

caractere

Senha

...

para a chave privada e/ou certificado.

X

 

...

cCertPath

...

caractere

...

Indica o caminho do certificado de cliente.

X

 

cKeyPath

...

caractere

...

Indica o caminho da chave privada de cliente.

X

 

nHSM

numérico

Define se utiliza HSM.

X

 

lClient

lógico

Indica se a definição será para conexão pelo SmartClient.

  

nVerbose

numérico

Habilita/Desabilita Verbose.

  

nBugs

numérico

Habilita/Desabilita Bugs.

  

nState

numérico

Habilita/Desabilita State.

  

cCACertPath

caractere

Indica o caminho do certificado de CA.

  

Retorno

Nome

Tipo

Descrição

lRet

lógico

Retorna .T. caso consiga extrair o certificado do HSM; caso contrário, retorna .F..

Observações

Os parâmetros da função equivalem à configuração contida na seção SSLConfigure do arquivo ini do AppServer, sendo relacionados da seuinte forma:

Parâmetro

Chave da SSLConfigure

nSSL2

SSL2

nSSL3

SSL3

nTLS1

TLS1

cPassword

PassPhrase

cCertPath

CertificateClient

cKeyPath

KeyClient

nHSM

HSM

nVerbose

Verbose

nBugs

BUGS

nState

STATE

cCACertPath

SecondCertificateClient

  • Para definição no AppServer, o valor padrão dos parâmetros nHSM, nVerbose, nBugs, nState e cCACertPath seguem o padrão da configuração da seção SSLConfigure.
  • Caso nHSM seja 1, o formato aceito no caminho dos parâmetros cCertPath e cKeyPath é "slot_<num>-id_<idhex>" ou "slot_

...

  • <nem>-label_<label>"

...

  • , onde <num> é o número do slot, igual ao retornado pela função HSMSlotList, e <idhex> é o id do objeto em hexadecimal, sendo cada 2 caracteres a representação hexadecimal de um caractere da tabela ASCII.
  • Para definição seja no AppServer, se nHSM for 0 e o caminho apontado por cCertPath, cKeyPath ou cCACertPath não for no AppServer, a aplicação dará uma exceção com a mensagem: "Only server path are allowed (HttpSSLClient)".
  • Para definição seja no SmartClient, se nHSM for 0 e o caminho apontado por cCertPath, cKeyPath ou cCACertPath não for no SmartClient, a aplicação dará uma exceção com a mensagem: "Only client path are allowed on client side (HttpSSLClient)".
  • O valor padrão de lClient é .F..
  • Os parâmetros lClient, nVerbose, nBugs, nState e cCACertPath estão disponíveis a partir da build 7.00.131227A com data de geração superior a 11/03/2016.

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse

...

Define se utiliza HSM.
0 = Não utiliza
1 = Utiliza (Default)

...

 

 

...

user function exemplo()
  

...

  Local cSlot

...

     := "0"

...

  Local cModule

...

   := 'C:\Program Files (x86)\Feitian\ePass2000_FT12\ngp11v211.dll' // Pronova

...

  Local cPass

...

     := "12345678"

...

  Local idHex

...

     := "80125761605040BE9A5D71B677387F67" // Katoen

...

  Local cUrl

...

      := 'https://homologacao.nfe.fazenda.sp.gov.br:443/nfeWEB/services/NfeStatusServico.asmx'

...

  Local cSoapSend

...

 := '<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/';

...

                     'XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="';

...

                     'http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><nfeStatusServicoNF xmlns="';

...

                     'http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico"><nfeCabecMsg><?xml version="1.0"';

...

                     ' encoding="UTF-8"?><cabecMsg xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.02">';

...

                     '<versaoDados>1.07</versaoDados></cabecMsg></nfeCabecMsg><nfeDadosMsg><?xml version="1.0"';

...

                     ' encoding="UTF-8"?><consStatServ xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.07">';

...

                     '<tpAmb>2</tpAmb><cUF>35</cUF><xServ>STATUS</xServ></consStatServ></nfeDadosMsg></nfeStatusServicoNF>';

...

                     '</soap:Body></soap:Envelope>'

...

  Local aHeadOut

...

  := {'SOAPAction: http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico/nfeStatusServicoNF','Content-Type:';

...

                     'text/xml; charset=utf-8','User-Agent: Mozilla/4.0 (compatible; Protheus 7.00.100812P-20101227; ADVPL WSDL Client 1.101007)'}

...

  Local XMLHeadRet:= ""

...

  
  HTTPSSLClient(0, 1, 1, cPass, "slot_"+cSlot+"-id_"+idHex, "slot_"+cSlot+"-id_"+idHex, 1)

...

  HSMInitialize(cModule)

...

  
  XMLPostRet := 

...

HTTPSPost(cUrl, "", "", "", "", cSoapSend, 30, aHeadOut, @XMLHeadRet)

...

  if !Empty(XMLPostRet)

...

    conout("        1 - Comunicacao realizada com sucesso !!!")

...

    conout("[" + XMLPostRet + "]")

...

  else

...

    conout("        2 - Falha na  Comunicacao!!!")

...

  endif

...

  
return

...

 

 

...


Veja também