Á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, 1, 2, ou 3. Ver quadro TLS1 

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.

Valores válidos para TLS1

Valor

Descrição

0 (default)Desabilita
1TLS 1.0
2TLS 1.1
3TLS 1.2

Exemplo


 

  Local SSL2 := 1

  Local SSL3 := 1

  Local TLS1 := 13

  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]

...