Classe: tSktSslSrv
Permite o gerenciamento de conexões TCP seguras (SSL).
Hierarquia |
|
| A classe não possui hierarquia. |
|
|
Construtores |
|
| NewCria 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), 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) |
| Quadro TLS1 | Valores válidos para TLS1Valor | Descrição |
---|
0 (default) | Desabilita | 1 | TLS 1.0 | 2 | TLS 1.0 e TLS 1.1 | 3 | TLS 1.0, TLS 1.1, e TLS 1.2 |
| Observações | Ver Seção [SSLConfigure] para as definições. | Exemplo |
| | Local SSL2 := 1 Local SSL3 := 1 Local TLS1 := 3 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 |
|
| StartTcpFaz 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) |
|
|
|
|
| AcceptFaz 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 |
|
|
|
|
| GetErrorObté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 | 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) |
|
|
|
|
| CloseFecha 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 |
| | |
|
|
|
Propriedades |
|
| nAcceptedIndica o número de clientes que foram aceitos (conectados).
| Sintaxe |
|
| | Retorno |
| | Nome | Tipo | Descrição | nAccepted | Numérico | Indica o número de clientes que foram aceitos (conectados) |
| Observações |
| |
| Exemplo |
| | |
|
| |
| lBindedIndica se o servidor está conectado e escutando a porta.
| Sintaxe |
|
| | Retorno |
| | Nome | Tipo | Descrição | lBinded | Lógico | Indica se o servidor está conectado e escutando a porta |
| Observações |
| |
| Exemplo |
| | |
|
|
|
Abrangência
Protheus 11 com release superior a 7.00.121227P
Veja Também
tSktSslConn , SetSslObj , GetSslObj , Seção [SSLConfigure]