
SSL/TLS 프로토콜, 일반 암호화, 그리고 보안 통신을 위한 X.509 인증서 처리를 구현하는 강력한 오픈소스 암호화 라이브러리입니다.
OpenSSL 1.0.1g 2014년 4월 7일
Copyright (c) 1998-2011 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson 모든 권리 보유.
OpenSSL 프로젝트는 SSL(Secure Sockets Layer, SSL v2/v3) 및 TLS(Transport Layer Security, TLS v1) 프로토콜과 강력한 범용 암호화 라이브러리를 구현하는 강력하고 상용 수준의 완전한 기능을 갖춘 오픈 소스 툴킷을 개발하기 위한 공동 노력입니다. 이 프로젝트는 인터넷을 통해 소통하고 계획하며 OpenSSL 툴킷과 관련 문서를 개발하는 전 세계 자원봉사자 커뮤니티에 의해 관리됩니다.
OpenSSL은 Eric A. Young과 Tim J. Hudson이 개발한 훌륭한 SSLeay 라이브러리를 기반으로 합니다. OpenSSL 툴킷은 이중 라이선스(OpenSSL 라이선스와 SSLeay 라이선스) 체계로 라이선스가 부여되며, 이는 기본적으로 두 라이선스의 조건을 모두 충족하는 한 상업적 및 비상업적 목적으로 자유롭게 얻고 사용할 수 있음을 의미합니다.
OpenSSL 툴킷에는 다음이 포함됩니다:
libssl.a: SSLv2, SSLv3, TLSv1의 구현과 단일 서버 및 클라이언트에서 SSLv2, SSLv3 및 TLSv1을 모두 지원하는 데 필요한 코드입니다.
libcrypto.a: SSL/TLS에 필요하지만 논리적으로는 그 일부가 아닌 일반 암호화 및 X.509 v1/v3 관련 기능입니다. 다음에 대한 루틴이 포함됩니다:
암호화(Ciphers)
libdes - 수년간 인터넷에 유포되던 EAY의 libdes DES 암호화 패키지로, 이후 그가 SSLeay의 일부로 재라이선스했습니다. cbc 모드의 desx, 빠른 crypt(3), 키보드에서 비밀번호를 읽는 루틴을 포함하여 15가지 DES '모드/변형'(ecb, cbc, cfb 및 ofb의 1, 2, 3-키 버전, pcbc 및 보다 일반적인 형태의 cfb 및 ofb)이 포함됩니다.
RC4 암호화,
RC2 암호화 - ecb, cbc, cfb 및 ofb의 4가지 모드.
Blowfish 암호화 - ecb, cbc, cfb 및 ofb의 4가지 모드.
IDEA 암호화 - ecb, cbc, cfb 및 ofb의 4가지 모드.
다이제스트(Digests)
MD5 및 MD2 메시지 다이제스트 알고리즘, 빠른 구현,
SHA(SHA-0) 및 SHA-1 메시지 다이제스트 알고리즘,
MDC2 메시지 다이제스트. 스마트 카드에서 널리 사용되는 DES 기반 해시입니다.
공개 키(Public Key)
RSA 암호화/복호화/생성.
비트 수에 제한이 없습니다.
DSA 암호화/복호화/생성.
비트 수에 제한이 없습니다.
Diffie-Hellman 키 교환/키 생성.
비트 수에 제한이 없습니다.
X.509v3 인증서
바이너리 ASN1과의 X509 인코딩/디코딩 및 개인 키로 암호화를 지원하는 PEM 기반 ASCII-바이너리 인코딩. RSA 및 DSA 인증서 요청을 생성하고 RSA 및 DSA 인증서를 생성하는 프로그램.
시스템(Systems)
일반적인 디지털 엔벨로프 루틴 및 base64 인코딩. 이름으로 암호화 및 다이제스트에 대한 상위 수준 접근. 새 암호는 런타임에 로드할 수 있습니다. 단순한 비차단 IO 추상화인 BIO IO 시스템. 현재 지원되는 방법은 파일 디스크립터, 소켓, 소켓 수락, 소켓 연결, 메모리 버퍼, 버퍼링, SSL 클라이언트/서버, 파일 포인터, 암호화, 다이제스트, 비차단 테스트 및 널입니다.
데이터 구조(Data structures)
동적으로 확장되는 해싱 시스템
간단한 스택.
MS .ini 파일과 유사한 형식을 사용하는 구성 로더.
openssl: 다음에 사용할 수 있는 명령줄 도구: RSA, DH 및 DSA 키 매개변수 생성 X.509 인증서, CSR 및 CRL 생성 메시지 다이제스트 계산 암호를 사용한 암호화 및 복호화 SSL/TLS 클라이언트 및 서버 테스트 S/MIME 서명 또는 암호화된 메일 처리
전 세계 여러 지역에서 다양한 기업이 다양한 알고리즘에 대한 다양한 특허를 보유하고 있습니다. 귀하는 자신의 국가에 특허가 있는지 확인하여 알고리즘 사용이 합법적인지 확인할 책임이 있습니다. 이 파일에는 당사가 알고 있거나 존재한다고 소문난 일부 특허가 포함되어 있습니다. 이는 확정적인 목록이 아닙니다.
RSA Security는 RC5 알고리즘에 대한 소프트웨어 특허를 보유하고 있습니다. 이 암호를 사용하려면 라이선스 조건에 대해 RSA Security에 문의해야 합니다. 해당 웹 페이지는 http://www.rsasecurity.com/입니다.
RC4는 RSA Security의 상표이므로 이 레이블은 RSA Security의 허가를 받은 경우에만 사용해야 합니다.
IDEA 알고리즘은 오스트리아, 프랑스, 독일, 이탈리아, 일본, 네덜란드, 스페인, 스웨덴, 스위스, 영국 및 미국에서 Ascom이 특허를 보유하고 있습니다. 이 알고리즘을 사용하려면 해당 회사에 문의해야 합니다. 해당 웹 페이지는 http://www.ascom.ch/입니다.
NTT와 Mitsubishi는 Camellia 알고리즘에 대한 특허 및 출원 중인 특허를 보유하고 있지만, 명시적인 라이선스 계약 없이 무료로 사용을 허용합니다: http://info.isl.ntt.co.jp/crypt/eng/info/chiteki.html
Unix 계열 시스템에 이 패키지를 설치하려면 INSTALL 파일을 읽으십시오. Win32 플랫폼의 경우 INSTALL.W32 파일을 읽으십시오. OpenVMS 시스템의 경우 INSTALL.VMS를 읽으십시오.
doc/ 디렉토리의 문서를 읽으십시오. 문서가 상당히 조잡하지만 함수를 나열하고 있습니다. 함수 사용 방법을 파악하려면 코드를 살펴봐야 할 것입니다. 예제 프로그램을 참조하십시오.
일부 플랫폼에는 사용자나 애플리케이션 작성자에게 영향을 줄 수 있는 알려진 문제가 있습니다. 당사는 이러한 문제를 OpenSSL의 향후 해결 방안에 대한 현재 생각과 함께 doc/PROBLEMS에 수집하려고 합니다.
상용 기술 지원을 받는 방법에 대한 자세한 내용은 OpenSSL 웹사이트 www.openssl.org를 참조하십시오.
OpenSSL에 문제가 있는 경우 먼저 다음 단계를 수행하십시오:
버그를 신고하려면 버그 리포트에 다음 정보를 포함하십시오:
Request Tracker(http://www.openssl.org/support/rt.html)를 통해 다음 메일 주소로 OpenSSL 프로젝트에 버그를 신고하십시오:
Request Tracker는 일반적인 도움 요청이나 지원 문의에 사용해서는 안 됩니다. 예상한 대로 작동하지 않는다고 해서 반드시 OpenSSL의 버그인 것은 아닙니다.
[email protected]로 보낸 메일은 공개적으로 읽을 수 있는 request tracker 데이터베이스에 기록되며 공개 메일링 리스트로 전달됩니다. 기밀 메일은 [email protected]로 보낼 수 있습니다(PGP 키는 키 서버에서 사용할 수 있습니다).
개발은 openssl-dev 메일링 리스트에서 조정됩니다(구독 정보는 http://www.openssl.org 참조). 패치를 제출하려면 제목에 "[PATCH]" 문자열을 포함하여 [email protected]로 보내십시오. 패치가 수행하는 작업에 대한 텍스트 설명을 반드시 포함하십시오.
기능이 일반 OpenSSL 커뮤니티에 유용할지 확신이 없다면 먼저 openssl-dev 메일링 리스트에서 논의하십시오. 누군가 이미 같은 작업을 하고 있거나 해당 기능이 구현되지 않은 타당한 이유가 있을 수 있습니다.
패치는 가능한 한 최신 상태여야 하며, 가급적 현재 Git 또는 마지막 스냅샷을 기준으로 해야 합니다. OpenSSL의 코딩 스타일을 따라야 하며 경고 없이 컴파일되어야 합니다. 일부 핵심 팀 개발자 타겟(debug-steve64, debug-geoff 등)을 테스트 목적으로 사용할 수 있습니다. OpenSSL은 다양한 플랫폼에서 컴파일됩니다: 휴대용 기능만 사용하도록 하십시오.
참고: 법적 이유로 미국에서의 기여는 TSU 통지와 패치 사본이 [email protected](이전 BXA)로 전송되고 ENC 암호화 요청 코디네이터에게도 사본이 전송된 경우에만 수락될 수 있습니다. 자세한 내용은 다음을 확인하시기 바랍니다: http://www.bis.doc.gov/Encryption/PubAvailEncSourceCodeNofify.html [sic] 및 http://w3.access.gpo.gov/bis/ear/pdf/740.pdf (EAR 섹션 740.13(e)) 만약 "암호화 소스 코드가 이메일 첨부 파일로 보내기에는 너무 큰 경우"라면 팩스로도 기꺼이 받아줍니다. 저렴한 장거리 요금제가 있기를 바랍니다.
변경 사항의 선호 형식은 "diff -u" 출력입니다. 다음과 같이 생성할 수 있습니다: