Classe: tSktSslSrvPermite o gerenciamento de conexões TCP seguras (SSL).
|
| | A classe não possui hierarquia. |
| | | NewCria uma instância da classe tSktSslSrv. |
|
| |
|
| 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 |
|
|
| |
| 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 |
|
|
| | | Nome | Tipo | Descrição | oRet | Objeto | Cria um objeto da Classe Server Socket SSL (Servidor SSL) |
| Observações |
| |
|
| 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) |
|
|
| | |
|
| StartTcpFaz o bind e o listen em uma porta específica do servidor e verifica os certificados e configurações da conexão SSL. |
| | |
|
| 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 |
|
|
| | |
| | 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 |
|
| |
| | lRet = oSockSrv:StartTcp(nPort) |
|
|
| | |
|
|
| AcceptFaz a aceitação de uma conexão SSL. |
| | |
|
| 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 |
|
|
| |
| | 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. |
|
| |
|
| 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) |
|
|
| | | | |
|
| TSktSslSrv():Close() --> lRet |
| Parâmetros |
|
| | | |
| | Nome | Tipo | Descrição | lRet | Lógico | Verdadeiro (.T.) se fechou corretamente ou falso (.F.) se houve algum erro no fechamento |
| Observações |
|
| | | | |
|
| nAcceptedIndica o número de clientes que foram aceitos (conectados). |
|
| |
| | Nome | Tipo | Descrição | nAccepted | Numérico | Indica o número de clientes que foram aceitos (conectados) |
| Observações |
|
| | |
| |
| lBindedIndica se o servidor está conectado e escutando a porta. |
|
| | Nome | Tipo | Descrição | lBinded | Lógico | Indica se o servidor está conectado e escutando a porta |
| Observações |
| |
|
| | | |
Abrangência Protheus 11 com release superior a 7.00.121227P
Veja Também tSktSslConn , SetSslObj , GetSslObj , Seção [SSLConfigure] |