Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
portuguese
Composition Setup
import.css=/download/attachments/3279126062824/newLayouttecnologia.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 ] )

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.

 

 

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.

  

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

Função: HttpSslClient
Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
user function exemplo()
  
  Local cSlot     := "0"
  Local cModule  
HttpSslClientHttpSslClient
Nível de Acesso: Nível 1 (Acesso Clientes)
Descrição:

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

Sintaxe:

HttpSslClient ( SSL2SSL3TLS1passwordclientCertificateclientKey )

Retorno:
    ()
Observações

 

Exemplos User Function UsaHsmId()Local cSlot := "0"Local cModule
 := 'C:\Program Files (x86)\Feitian\ePass2000_FT12\ngp11v211.dll' // Pronova
 
PronovaLocal
 Local cPass     := "12345678"
  Local idHex     := "80125761605040BE9A5D71B677387F67" // 
KatoenLocal
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
>';
                     '<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>2</tpAmb><cUF>35</cUF><xServ>STATUS</xServ></consStatServ></nfeDadosMsg></
nfeStatusServicoNF><
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

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

  HSMInitialize(cModule)
HSMGETCERTFILE("slot_"+cSlot+"-id_"+idHex, "\hsm\000019.pem")

  
  XMLPostRet := 
HttpSPost
HTTPSPost(cUrl, "", "", "", "", cSoapSend, 30, aHeadOut, @XMLHeadRet)
  if !Empty(XMLPostRet)
    conout("        1 - Comunicacao realizada com sucesso !!!")
    conout("[" + XMLPostRet + "]")
  else
    conout("        2 - Falha na  Comunicacao!!!")
  endif
  
endifreturn() Parâmetros: NomeTipoDescriçãoDefaultObrigatórioReferênciaSSL2LógicoHabilita SSL2XSSL3LógicoHabilita SSL3XTLS1LógicoHabilita TLS1XpasswordCaracterSenha do certificado.XclientCertificateCaracterCaminho do certificado no formato "slot_<número>-id_<id hexadecimal>" ou "slot_<número>-label_<label>".XclientKeyCaracterCaminho da chave no formato "slot_<número>-id_<id hexadecimal>" ou "slot_<número>-label_<label>".X

return

Veja também