English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico PHP

Tutorial Avançado PHP

PHP & MySQL

Manual de Referência PHP

Funções OpenSSL PHP

O que é OpenSSL?

O OpenSSL é um módulo de código aberto gratuito projetado para lidar com a comunicação através da rede de computadores. O OpenSSL é uma ferramenta usada para protocolos de segurança de camada de transporte (TLS) e camada de soquete segura (SSL).

O que é um certificado SSL?

Os sites usam camadas de segurança de soquete (ou SSL). O certificado SSL é responsável por proteger os dados entre dois computadores através de criptografia. Os computadores envolvidos podem ser o cliente e o servidor na partilha de dados. Quando você compartilha dados como senhas, detalhes de cartão de crédito, endereço residencial, número de segurança social, etc., é necessário protegê-los, e o certificado SSL os protegerá. O certificado SSL garante que os dois computadores envolvidos sejam autenticados para garantir uma conexão segura.

Instalação do OpenSSL no PHP

Por padrão, o módulo OpenSSL já está adicionado ao PHP. Você pode removê-lo no php.ini; extension = php_openssl.dllInícioo ponto e vírgula (;) para ativá-las. Após isso, reinicie o Apache e confirme se as alterações entraram em vigor, em seguida, salve o seguinte código como .php e execute-o no navegador.

<?php
   phpinfo();
?>
Teste para ver‹/›

Você deve ver no navegador que o OpenSSL está ativado, conforme mostrado a seguir:

Configuração do OpenSSL

openssl.cnf é o arquivo de configuração, que possui todas as configurações padrão necessárias para o OpenSSL funcionar. Para executar o OpenSSL, a primeira coisa que o PHP tenta fazer é encontrar esse arquivo de configuração. Para obter o arquivo igual, você deve adicionar a pasta Php para a variável de ambiente.

Se você for usuário do Windows, siga os seguintes passos para configurar o variável de ambiente para a pasta Php:

1.Clique com o botão direito no Meu Computador e vá para Propriedades.

2.Vá para as configurações do sistema avançado.

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, e minha pasta Php é c:\xampp\php;.

6.Após concluir, clique no botão Confirmar.

7.Agora abra o Prompt de Comando e insira o comando: openssl versão -um.

C:\Windows\system32>openssl versão -um
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"

现在,php将能够找到openssl.cnf配置文件。

OpenSSL 函数

下表列出了与PHP OpenSSL相关的所有函数。此处的“版本”表示支持函数功能的PHP的最早版本。

序号函数描述
版本
1openssl_pkey_new()返回具有新的私钥和公钥对的资源标识符5.0.0
2openssl_pkey_get_private()返回私钥5.0.0
3openssl_pkey_get_public()返回公钥5.0.0
4openssl_pkey_export_to_file()将密钥导出到文件5.0.0
5openssl_private_encrypt()用私钥加密数据5.0.0
6openssl_public_encrypt()

用公钥加密数据

5.0.0
7openssl_public_decrypt()用公钥解密数据5.0.0
8openssl_private_decrypt()用私钥解密数据5.0.0