BearSSL - 작은 SSL/TLS 오픈소스 라이브러리
(bearssl.org)- C로 작성된 SSL/TLS(RFC 5246) 구현체
- 정확하고 안전한 구현을 목표 : 안전하지 않은 프로토콜 버전 및 알고리듬 선택이 안되도록 설계
- 최대한 작게 : 최소 서버 구현체는 20kb의 컴파일코드 및 램 25kb만 필요
- 포터블 : 리눅스/윈도우 및 작은 임베디드 시스템과 부트스트랩 코드등에도 들어감
- 기능이 풍부하고 확장 가능
- 현재 버전은 0.6으로 베타 상태
- 이미 구현된 것들
- 정적 링킹 모델
- 메모리 동적할당 안함 : 라이브러리 내부에 malloc() 호출이 전혀 없음. memcpy(), memmove(), memcmp(), strlen() 만 필요
- Client/Server 둘 다 구현
- TLS 1.0/1.1/1.2 지원. 설계상 SSL 2.0/3.0은 지원되지 않음
- RSA,ECDH,ECDHE key exchange 지원
- 최소한의 X.509 cerficate validation 구현
- MIT 라이센스