Árvore de páginas

Versões comparadas

Chave

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

...

 
Portuguese

Classe: tSktSslSrv

Permite o gerenciamento de conexões TCP seguras (SSL).

 


Hierarquia

 


 

A classe não possui hierarquia.

 

 



Construtores

 



New

Cria uma instância da classe tSktSslSrv.

 


Sintaxe

 

 



tSktSslSrv():New( < nSSL2 >, < nSSL3 >, < nTLS1 >, < cPassPhase >, < cCertificate >, < cKey >,

    < cCertificate2 >, < cKey2 >, < nHSM >, < nBugs >, < nState >, < nCacheSize >, < nVerbose >, < cModule >) --> oRet

Parâmetros

 

 

 

 





Nome

Tipo

Descrição

Obrigatório

Referência

nSSL2

Numérico

0 (zero) indica desabilitado, senão habilitado

X

 


nSSL3

Numérico

0 (zero) indica desabilitado, senão habilitado

X

 


nTLS1

Numérico

0 (zero) indica desabilitado, senão habilitado

X

 


cPassPhase

Caracter

Senha

X

 


cCertificate

Caracter

arquivo de certificado

X

 


cKey

Caracter

arquivo de chave

X

 


cCertificate2

Caracter

arquivo de certificado secundário

 

 



cKey2

Caracter

arquivo de chave secundário

 

 



nHSM

Numérico

0 (zero) indica desabilitado, senão habilitado

 

 



nBugs

Numérico

0 (zero) indica desabilitado, senão habilitado

 

 



nState

Numérico

0 (zero) indica desabilitado, senão habilitado

 

 



nCacheSize

Numérico

Define o tamanho do cache interno

 

 



nVerbose

Numérico

0 (zero) indica desabilitado, senão habilitado

 

 



cModule

Caracter

Indica o módulo Criptoki

 

 



Retorno


 

 

Nome

Tipo

Descrição

oRet

Objeto

Cria um objeto da Classe Server Socket SSL (Servidor SSL)

Observações


 

 

Ver Seção [SSLConfigure] para as definições.

Exemplo


 

 

 

Local SSL2 := 1

  Local SSL3 := 1

  Local TLS1 := 1

  Local PassPhrase := "senha"

  Local cert1 := ""

  Local key1 := ""

  Local cert2 := ""

  Local key2 := ""

  Local HSM := 0

  Local Bugs := 0

  Local State := 0

  Local CacheSize := 0

  Local Verbose := 0

  Local Module := ""

 


  cert1 := "..\..\Users\ricardo.clima\compartilhado\ssl_keys_teste\rsa_privkey_self_cert.crt"

  key1 := "..\..\Users\ricardo.clima\compartilhado\ssl_keys_teste\rsa_privkey.pem"


 

 

oSockSrv := tSktSslSrv():New(SSL2, SSL3, TLS1, PassPhrase, cert1, key1,

    cert2, key2, HSM, Bugs, State, CacheSize, Verbose, Module)

 

 



Métodos

 

 



StartTcp

Faz o bind e o listen em uma porta específica do servidor e verifica os certificados e configurações da conexão SSL.

 


Sintaxe

 

 



TSktSslSrv():StartTcp ( < nPort >, < cServerName > ) --> lRet

Parâmetros

 

 



Nome

Tipo

Descrição

Obrigatório

Referência

nPort

Numérico

Porta de conexão

X

 


cServerName

Caracter

Identificação do servidor de conexão

 

 



Retorno

 


 

Nome

Tipo

Descrição

lRet

Lógico

Retorna verdadeiro (.T) se conseguiu fazer o bind, o listen na porta e verificar as configurações da

conexão SSL, e falso (.F.) se não conseguir estabelecer uma conexão na porta

Observações

 

 


 


Exemplo

 


 

lRet = oSockSrv:StartTcp(nPort)

 

 

 




Accept

Faz a aceitação de uma conexão SSL.

 


Sintaxe

 

 



TSktSslSrv():Accept ( < nTimeOut > ) --> oObjConn

Parâmetros

 

 



Nome

Tipo

Descrição

Obrigatório

Referência

nTimeOut

Numérico

Timeout de aguarde de aceitação em segundos

X

 


Retorno

 


 

Nome

Tipo

Descrição

oObjConn

Objeto

Se conseguiu aceiar uma conexão retorna um objeto do tipo “tSktSslConn” e em caso de falha

retorna nulo (NIL)

Observações

 


 

Se nTimeOut  for 0 (zero) fica aguardando indefinidamente até aceitar uma conexão.

Se houver algum erro, ou se houver timeout de aceitação de uma conexão, será retornado nulo (NIL).

Exemplo

 


 

    …

    oObjConn := oSockSrv:Accept( 0 )

 


    If oObjConn = NIL

      nErrCode := oSockSrv:GetError(@cErrMsg)

      conout(time() + " " + "[ERR] ACCEPT FAILED ("+AllTrim(str(nErrCode))+":"+cErrMsg+")")

      loop

    Endif

 

 

 




GetError

Obtém o erro gerado no Servidor.

 


Sintaxe

 

 



TSktSslSrv():GetError ( < cMsgErr > ) --> nRet

Parâmetros

 

 



Nome

Tipo

Descrição

Obrigatório

Referência

cMsgErr

Caracter

Contém a mensagem de erro

X

Retorno


 

 

Nome

Tipo

Descrição

nRet

Lógico

Contém o código do erro

Observações

 


 

Se não houver erro será retornado 0 (zero).

Exemplo


 

 

nErrCode := oSockSrv:GetError(@cErrMsg)

 

 

 




Close

Fecha o servidor SSL.

 


Sintaxe

 

 



TSktSslSrv():Close() --> lRet

Parâmetros

 

 

 




Retorno

 


 

Nome

Tipo

Descrição

lRet

Lógico

Verdadeiro (.T.) se fechou corretamente ou falso (.F.) se houve algum erro no fechamento

Observações

 

 


 


Exemplo


 

 

lRet := oSockSrv:Close()

 

 



Propriedades

 

 



nAccepted

Indica o número de clientes que foram aceitos (conectados).

 


Sintaxe

 

 



TSktSslSrv():nAccepted

Retorno

 


 

Nome

Tipo

Descrição

nAccepted

Numérico

Indica o número de clientes que foram aceitos (conectados)

Observações

 

 


 


Exemplo

 


 

nAccepted := oSockSrv:nAccepted

 

 


 


lBinded

Indica se o servidor está conectado e escutando a porta.

 


Sintaxe

 

 



TSktSslSrv():lBinded

Retorno


 

 

Nome

Tipo

Descrição

lBinded

Lógico

Indica se o servidor está conectado e escutando a porta

Observações


 

 

 


Exemplo


 

 

lBinded := oSockSrv:lBinded

 

 

 




Abrangência

Protheus 11 com release superior a 7.00.121227P 


Veja Também

tSktSslConn , SetSslObj , GetSslObj , Seção [SSLConfigure]

...