OpenSSL

OpenSSL

OpenSSL 확장은 OpenSSL 라이브러리의 함수들을 바인딩해 대칭·비대칭 암호화와 복호화, PBKDF2, PKCS7, PKCS12, X509 및 기타 암호화 작업을 수행할 수 있게 해 줘요. 여기에 더해 TLS 스트림 구현도 제공해요.

출처: PHP: OpenSSL - Manual

본문

이 확장은 OpenSSL 라이브러리의 함수를 바인딩하여 대칭·비대칭 암호화와 복호화, PBKDF2, PKCS7, PKCS12, X509 및 기타 암호화 연산을 제공해요. 추가로 TLS 스트림의 구현도 포함돼 있어요.

OpenSSL은 이 모듈이 현재 지원하지 않는 많은 기능을 제공하기도 해요. 그중 일부는 향후 추가될 수 있어요.

주요 카테고리

OpenSSL 확장은 상수와 함수가 워낙 많아 주제별로 나뉘어요.

  • 대칭 암호화openssl_encrypt, openssl_decrypt, openssl_cipher_iv_length, openssl_cipher_key_length
  • 비대칭 암호화openssl_public_encrypt, openssl_public_decrypt, openssl_private_encrypt, openssl_private_decrypt, openssl_seal, openssl_open
  • 키 관리openssl_pkey_new, openssl_pkey_get_private, openssl_pkey_get_public, openssl_pkey_export, openssl_pkey_get_details, openssl_pkey_derive
  • 인증서·X509openssl_x509_parse, openssl_x509_read, openssl_x509_verify, openssl_x509_checkpurpose, openssl_x509_fingerprint
  • CSR·서명openssl_csr_new, openssl_csr_sign, openssl_sign, openssl_verify
  • PKCS7/CMSopenssl_pkcs7_sign, openssl_pkcs7_verify, openssl_pkcs7_encrypt, openssl_pkcs7_decrypt, openssl_cms_* 계열
  • PKCS12openssl_pkcs12_export, openssl_pkcs12_read
  • 키 파생·패스워드openssl_pbkdf2, openssl_password_hash, openssl_password_verify
  • 다이제스트openssl_digest, openssl_get_md_methods, openssl_get_cipher_methods, openssl_get_curve_names
  • 기타openssl_random_pseudo_bytes, openssl_error_string, openssl_dh_compute_key, openssl_spki_new, openssl_spki_verify

주요 클래스

  • OpenSSLCertificate — X.509 인증서 클래스
  • OpenSSLCertificateSigningRequest — CSR 클래스
  • OpenSSLAsymmetricKey — 비대칭 키 클래스

더 알아보기