PHP - Funções OpenSSL
O que é OpenSSL?
OpenSSL é um módulo de código aberto gratuito que se destina a cuidar das comunicações que ocorrem em redes de computadores. OpenSSL é uma ferramenta para os protocolos Transport Layer Security (TLS) e Secure Sockets Layer (SSL).
O que é um certificado SSL?
Um Secure Sockets Layer, isto é, SSL é usado pelo site. O certificado SSL se encarrega de proteger os dados entre dois computadores usando a criptografia. Os dois computadores envolvidos podem ser o compartilhamento de dados entre cliente e servidor. Quando você compartilha dados como senha, detalhes de cartão de crédito, endereço residencial, número de segurança social, deve ser protegido e o mesmo é cuidado pelo certificado SSL. Os certificados SSL garantem que a identidade de ambos os computadores envolvidos seja autenticada para uma conexão segura.
Instalação OpenSSL em PHP
O módulo OpenSSL é adicionado por padrão ao PHP. Você pode ativar o mesmo removendo o (;) ; extension = php_openssl.dll adicionado no início da extensão em php.ini. Depois reinicie o apache e para confirmar se as alterações estão refletindo salve o código abaixo como .php e execute o .php no navegador.
<?php
phpinfo();
?>
Você deve ver o openssl ativado no navegador conforme mostrado abaixo:
Configuração OpenSSL
O openssl.cnf é o arquivo de configuração e tem toda a configuração padrão necessária para o openssl funcionar. Para executar o openssl, a primeira coisa é que o php tentará localizar o arquivo de configuração. Para obter o mesmo, você terá que adicionar a pasta php ao variável de ambiente.
Se você for usuário do Windows, siga estas etapas para configurar a variável de ambiente para a pasta php:
1. Clique com o botão direito em Meu Computador e vá para Propriedades.
2. Vá para Configurações avançadas do sistema.
3. Clique no botão 'Variáveis de ambiente'.
4. Edite a variável de caminho e clique no botão Editar.
5. Agora adicione o caminho da pasta Php no final. Estou usando o xampp, então minha pasta php é C: \ xampp \ php;
6. Uma vez concluído, clique no botão OK.
7.Agora abra seu prompt de comando e digite o comando: openssl version -a.
C:\Windows\system32>openssl version -a
OpenSSL 1.0.2l 25 May 2017
built on: reproducible build, date unspecified
platform: mingw64
options: bn(64,64) rc4(16x,int) des(idx,cisc,2,long) idea(int) blowfish(idx)
compiler: x86_64-w64-mingw32-gcc -I. -I.. -I../include -D_WINDLL -DOPENSSL_PIC
-DOPENSSL_THREADS -D_MT -DDSO_WIN32 -static-libgcc -DL_ENDIAN -O3 -Wall -DWIN32_
LEAN_AND_MEAN -DUNICODE -D_UNICODE -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DO
PENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSH
A512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
-DECP_NISTZ256_ASM
OPENSSLDIR: "/etc/ssl"
Agora o php será capaz de localizar o arquivo de configuração openssl.cnf.
Funções OpenSSL
A tabela a seguir lista todas as funções relacionadas ao PHP OpenSSL. Aqui, a versão da coluna indica a versão mais antiga do PHP que suporta a função.Sr. Não | Descrição da função | Versão |
---|---|---|
1 | openssl_pkey_new ()
Retorna um identificador de recurso que tem um novo par de chaves pública e privada |
5.0.0 |
2 | openssl_pkey_get_private ()
Retorna a chave privada |
5.0.0 |
3 | openssl_pkey_get_public ()
Retorna a chave pública |
5.0.0 |
4 | openssl_ pkey_ export_ to_ file ()
Exporta a chave para um arquivo |
5.0.0 |
5 | openssl_private_encrypt ()
Criptografa os dados com a chave privada |
5.0.0 |
6 | openssl_public_encrypt ()
Criptografa os dados com chave pública |
5.0.0 |
7 | openssl_public_decrypt ()
Descriptografa os dados com a chave pública |
5.0.0 |
8 | openssl_private_decrypt ()
Descriptografa os dados com a chave privada |
5.0.0 |