Jämförelse av TLS-implementationer

Transport Layer Security (TLS)-protokollet ger möjlighet att säkra kommunikation över nätverk. Denna jämförelse av TLS-implementationer jämför flera av de mest anmärkningsvärda biblioteken . Det finns flera TLS-implementationer som är fri programvara och öppen källkod .

Alla jämförelsekategorier använder den stabila versionen av varje implementering som anges i översiktsavsnittet. Jämförelsen är begränsad till funktioner som direkt relaterar till TLS-protokollet.

Översikt

Genomförande Utvecklad av Öppen källa Mjukvarulicens Upphovsrättsinnehavare Skrivet i Senaste stabila versionen, releasedatum Ursprung
Botan Jack Lloyd Ja Förenklad BSD-licens Jack Lloyd C++ 2.19.3 (16 november 2022 ; 3 månader sedan ( 16-11-2022 ) ) USA (Vermont)
BoringSSL Google Ja OpenSSL-SSLeay dual-license , ISC-licens Eric Young, Tim Hudson, Sun, OpenSSL project, Google och andra C , C++ , Go , montering ?? Australien/EU
Hoppborg The Legion of the Bouncy Castle Inc. Ja MIT-licens Legion of the Bouncy Castle Inc. Java , C#
Java 1,72 / 25 september 2022 ; 5 månader sedan ( 2022-09-25 )
Java FIPS BC-FJA 1.0.2.3 / 9 februari 2022 ; 12 månader sedan ( 2022-02-09 )
C# 2.1.1 / 18 februari 2023 ; 9 dagar sedan ( 2023-02-18 )
C# FIPS BC-FNA 1.0.1.1 / 21 april 2021 ; 22 månader sedan ( 2021-04-21 )
Australien
BSAFE Dell , tidigare RSA Security Nej Proprietär Dell Java , C , montering SSL-J 6.5 (12 september 2022 ; 5 månader sedan ( 12-09-2022 ) )


SSL-J 7.1 (12 september 2022 ; 5 månader sedan ( 2022-09-12 ) ) Micro Edition Suite 5.0 (13 oktober 2022 ; 4 månader sedan ( 2022-10-13 ) )

Australien
cryptlib Peter Gutmann Ja Sleepycat-licens och kommersiell licens Peter Gutmann C 3.4.5 (2019 ; 4 år sedan ( 2019 ) ) NZ
GnuTLS GnuTLS-projekt Ja LGPL-2.1 eller senare Free Software Foundation C Edit this on Wikidata 3.6.16 2021-05-24 EU (Grekland och Sverige)
Java Secure Socket Extension (JSSE) Orakel Ja GNU GPLv2 och kommersiell licens Orakel Java 19.0.2 (18 februari 2023 ; 9 dagar sedan ( 2023-02-18 ) )



17.0.6 LTS (18 februari 2023 ; 9 dagar sedan ( 2023-02-18 ) ) 11.0.17 LTS ( 2022-10-18 ) 18 oktober 2022 ; 4 månader sedan ( ) 8u320 LTS till 8u320ber 4 månader sedan ( 2022-10-18 ) )

USA
LibreSSL OpenBSD-projekt Ja Apache-1.0 , BSD-4-klausul , ISC och allmän egendom Eric Young, Tim Hudson, Sun, OpenSSL-projektet, OpenBSD-projektet och andra C , montering Edit this on Wikidata 3.6.2 2023-02-06 Kanada
MatrixSSL PeerSec-nätverk Ja GNU GPLv2 + och kommersiell licens PeerSec-nätverk C 4.2.2 (11 september 2019 ; 3 år sedan ( 2019-09-11 ) ) USA
Mbed TLS (tidigare PolarSSL) Ärm Ja Apache License 2.0, GNU GPLv2 + och kommersiell licens Arm Holdings C 3.2.1 (12 juli 2022 ; 7 månader sedan ( 2022-07-12 ) ) EU (Nederländerna)
Nätverkssäkerhetstjänster (NSS) Mozilla , AOL , Red Hat , Sun , Oracle , Google och andra Ja MPL 2.0 NSS-bidragsgivare C , montering
Standard 3,84 / 12 oktober 2022 ; 4 månader sedan ( 2022-10-12 )
Utökad supportversion 3.79.1 / 18 augusti 2022 ; 6 månader sedan ( 2022-08-18 )
USA
OpenSSL OpenSSL-projekt Ja Apache-2.0 Eric Young, Tim Hudson, Sun, OpenSSL-projektet och andra C , montering Edit this on Wikidata 3.0.8 2023-02-07 Australien/EU
s2n Amazon Ja Apache License 2.0, GNU GPLv2 + och kommersiell licens Amazon, Inc. C Kontinuerlig USA
Kanal Microsoft Nej Proprietär Microsoft Inc. Windows 11, 2021-10-05 USA
Säker transport Apple Inc. Ja APSL 2.0 Apple Inc. 57337.20.44 ( OS X 10.11.2), 2015-12-08 USA
SharkSSL Realtidslogik Ja GNU GPLv2 + och kommersiell licens Realtidslogik C USA
wolfSSL (tidigare CyaSSL) wolfSSL Ja GNU GPLv2 + och kommersiell licens wolfSSL Inc. C , montering 5.5.4 (21 december 2022 ; 2 månader sedan ( 2022-12-21 ) ) USA
Erlang /OTP SSL-applikation Ericsson Ja Apache-licens 2.0 Ericsson Erlang OTP-21, 2018-06-19 Sverige
Genomförande Utvecklad av Öppen källa Mjukvarulicens Upphovsrättsägare Skrivet i Senaste stabila versionen, releasedatum Ursprung

Stöd för version av TLS/SSL-protokoll

Det finns flera versioner av TLS-protokollet. SSL 2.0 är en föråldrad protokollversion med betydande svagheter. SSL 3.0 (1996) och TLS 1.0 (1999) är efterföljare med två svagheter i CBC-utfyllnad som förklarades 2001 av Serge Vaudenay. TLS 1.1 (2006) åtgärdade bara ett av problemen, genom att byta till slumpmässiga initieringsvektorer (IV) för CBC-blockchiffer, medan den mer problematiska användningen av mac-pad-encrypt istället för den säkra pad-mac-encrypt åtgärdades med RFC 7366. En lösning för SSL 3.0 och TLS 1.0, ungefär motsvarande slumpmässiga IV från TLS 1.1, användes allmänt av många implementeringar i slutet av 2011, så ur ett säkerhetsperspektiv ger alla befintliga versioner av TLS 1.0, 1.1 och 1.2 motsvarande styrka i basprotokollet och är lämpliga för 128-bitars säkerhet enligt NIST SP800-57 upp till minst 2030. 2014 upptäcktes POODLE -sårbarheten i SSL 3.0, vilket drar fördel av de kända sårbarheterna i CBC, och en osäker reservförhandling används i webbläsare.

TLS 1.2 (2008) introducerade ett sätt att identifiera hash som används för digitala signaturer. Samtidigt som man tillåter användningen av starkare hash-funktioner för digitala signaturer i framtiden (rsa,sha256/sha384/sha512) över SSL 3.0-konservativa valet (rsa,sha1+md5), försvagade TLS 1.2-protokollet oavsiktligt och avsevärt de digitala standardsignaturerna. och ger (rsa,sha1) och jämn (rsa,md5).

Datagram Transport Layer Security (DTLS eller Datagram TLS) 1.0 är en modifiering av TLS 1.1 för ett paketorienterat transportlager, där paketförlust och paketomordning måste tolereras. Revisionen DTLS 1.2 baserad på TLS 1.2 publicerades i januari 2012.

Observera att det finns kända sårbarheter i SSL 2.0 och SSL 3.0. Med undantag för de förutsägbara IV:erna (för vilka det finns en enkel lösning) påverkar alla för närvarande kända sårbarheter alla versioner av TLS 1.0/1.1/1.2 lika.

Genomförande SSL 2.0 (osäker) SSL 3.0 (osäker) TLS 1.0 TLS 1.1 TLS 1.2 TLS 1.3 DTLS 1.0 DTLS 1.2
Botan Nej Nej Ja Ja Ja Ja Ja
BoringSSL Ja Ja Ja Ja Ja Ja
Hoppborg Nej Nej Ja Ja Ja
Ja (utkastversion)
Ja Ja
BSAFE SSL-J Nej Inaktiverad som standard Nej Nej Ja Ja Nej Nej
cryptlib Nej Inaktiverad som standard vid kompilering Ja Ja Ja Nej Nej
GnuTLS Nej Inaktiverad som standard Ja Ja Ja Ja Ja Ja
JSSE Nej Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard Ja Ja Ja Ja
LibreSSL Nej Nej Ja Ja Ja Ja Ja Ja
MatrixSSL Nej Inaktiverad som standard vid kompilering Ja Ja Ja Ja Ja Ja
Mbed TLS Nej Nej Nej Nej Ja
Ja (experimentell)
Ja Ja
NSS Nej Inaktiverad som standard Ja Ja Ja Ja Ja Ja
OpenSSL Nej Inaktiverad som standard Ja Ja Ja Ja Ja Ja
s2n Nej Inaktiverad som standard Ja Ja Ja Ja Nej Nej
Kanal XP, 2003 Inaktiverad som standard i MSIE 7 Aktiverad som standard Aktiverad som standard i MSIE 7 Nej Nej Nej Nej
Kanal Vista Inaktiverad som standard Aktiverad som standard Ja Nej Nej Nej Nej
Kanal 2008 Inaktiverad som standard Aktiverad som standard Ja Inaktiverad som standard (KB4019276) Inaktiverad som standard (KB4019276) Nej Nej
Kanal 7, 2008R2 Inaktiverad som standard Inaktiverad som standard i MSIE 11 Ja Aktiverad som standard i MSIE 11 Aktiverad som standard i MSIE 11 Ja Nej
Kanal 8, 2012 Inaktiverad som standard Aktiverad som standard Ja Inaktiverad som standard Inaktiverad som standard Ja Nej
Kanal 8.1, 2012R2, 10 v1507 och v1511 Inaktiverad som standard Inaktiverad som standard i MSIE 11 Ja Ja Ja Ja Nej
Kanal 10 v1607 / 2016 Nej Inaktiverad som standard Ja Ja Ja Ja Ja
Kanal 11/2022 Nej Inaktiverad som standard Ja Ja Ja Ja Ja Ja
Säker transport

OS X 10.2-10.7, iOS 1-4

Ja Ja Ja Nej Nej Nej Nej
Säker transport OS X 10.8-10.10, iOS 5-8 Nej Ja Ja Ja Ja Ja Nej
Säker transport OS X 10.11, iOS 9 Nej Nej Ja Ja Ja Ja Okänd
Säker transport OS X 10.13, iOS 11 Nej Nej Ja Ja Ja
Ja (utkastversion)
Ja Okänd
wolfSSL Nej Inaktiverad som standard Inaktiverad som standard Ja Ja Ja Ja Ja
Erlang /OTP SSL-applikation Nej Nej Inaktiverad som standard Inaktiverad som standard Ja Delvis Inaktiverad som standard Ja
Genomförande SSL 2.0 (osäker) SSL 3.0 (osäker) TLS 1.0 TLS 1.1 TLS 1.2 TLS 1.3 DTLS 1.0 DTLS 1.2

NSA Suite B Kryptografi

Nödvändiga komponenter för NSA Suite B Cryptography (RFC 6460) är:

Enligt CNSSP-15 är den 256-bitars elliptiska kurvan (specificerad i FIPS 186-2), SHA-256 och AES med 128-bitars nycklar tillräckliga för att skydda sekretessbelagd information upp till Secret-nivån, medan den 384-bitars elliptiska kurvan (specificerat i FIPS 186-2), SHA-384 och AES med 256-bitars nycklar är nödvändiga för att skydda topphemlig information.

Genomförande TLS 1.2 Suite B
Botan Ja
Hoppborg Ja
BSAFE Ja
cryptlib Ja
GnuTLS Ja
JSSE Ja
LibreSSL Ja
MatrixSSL Ja
Mbed TLS Ja
NSS Nej
OpenSSL Ja
S2n
Kanal Ja
Säker transport Nej
wolfSSL Ja
Genomförande TLS 1.2 Suite B

Certifieringar

Observera att vissa certifieringar har fått allvarlig negativ kritik från personer som faktiskt är involverade i dem.

Genomförande FIPS 140-1 , FIPS 140-2 Inbäddad FIPS-lösning
Nivå 1 Nivå 2 [ omtvistad ]
Botan
Hoppborg
BC-FJA 1.0.0 (#2768) BC-FJA 1.0.1 (#3152)
BSAFE SSL-J



Crypto-J 6.0 ( 1785 , 1786 ) Crypto-J 6.1 / 6.1.1.0.1 ( 2057 , 2058 ) Crypto-J 6.2 / 6.2.1.1 ( 2468 , 2469 ) Crypto-J 6.2.4 ( 3 Crypto - J 6.2.4 ) 3 J 6.2.5 ( #3819 , #3820 )
cryptlib
GnuTLS Red Hat Enterprise Linux GnuTLS kryptografisk modul (#2780)
JSSE
LibreSSL inget stöd
MatrixSSL SafeZone FIPS kryptografisk modul: 1.1 (#2389)
Mbed TLS
NSS
Nätverkssäkerhetstjänster: 3.2.2 (#247) Krypteringsmodul för nätverkssäkerhetstjänster: 3.11.4 (#815), 3.12.4 (#1278), 3.12.9.1 (#1837)


Netscape Security Module: 1 (#7), 1.01 (#47) Nätverkssäkerhetstjänster: 3.2.2 (#248) Network Security Services Kryptografisk modul: 3.11.4 (#814), 3.12.4 (#1279, #1280)
OpenSSL
OpenSSL FIPS-objektmodul: 1.0 (#624), 1.1.1 (#733), 1.1.2 (#918), 1.2, 1.2.1, 1.2.2, 1.2.3 eller 1.2.4 (#1051) 2.0 , 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.7 eller 2.0.8 (#1747)
Kanal
Kryptografiska moduler i Windows NT 4.0, 95, 95, 2000, XP, Server 2003, CE 5, CE 6, Mobile 6.x, Vista, Server 2008, 7, Server 2008 R2, 8, Server 2012, RT, Surface, Phone 8 Se detaljer om Microsoft FIPS 140 validerade kryptografiska moduler
Säker transport

Apple FIPS-krypteringsmodul: 1.0 (OS X 10.6, #1514), 1.1 (OS X 10.7, #1701) Apple OS X CoreCrypto-modul; CoreCrypto Kernel Module: 3.0 (OS X 10.8, #1964, #1956), 4.0 (OS X 10.9, #2015, #2016) Apple iOS CoreCrypto Module; CoreCrypto Kernel Module: 3.0 (iOS 6, #1963, #1944), 4.0 (iOS 7, #2020, #2021)
wolfSSL


wolfCrypt FIPS-modul: 4.0 (#3389) Se detaljer om NIST-certifikat för validerade driftsmiljöer wolfCrypt FIPS-modul: 3.6.0 (#2425) Se detaljer om NIST-certifikat för validerade driftsmiljöer
Ja
Genomförande Nivå 1 Nivå 2 Inbäddad FIPS-lösning
FIPS 140-1, FIPS 140-2

Algoritmer för nyckelutbyte (endast certifikat)

Det här avsnittet listar certifikatverifieringsfunktionerna som är tillgängliga i de olika implementeringarna.

Genomförande RSA RSA -EXPORT (osäker) DHE - RSA ( forward sekretess ) DHE - DSS ( forward sekretess ) ECDH - ECDSA ECDHE - ECDSA ( forward sekretess ) ECDH - RSA ECDHE - RSA ( forward sekretess ) GOST R 34.10-94, 34.10-2001
Botan Inaktiverad som standard Nej Ja Inaktiverad som standard Nej Ja Nej Ja Nej
BSAFE Ja Nej Ja Ja Ja Ja Ja Ja Nej
cryptlib Ja Nej Ja Ja Nej Ja Nej Nej Nej
GnuTLS Ja Nej Ja Inaktiverad som standard Nej Ja Nej Ja Nej
JSSE Ja Inaktiverad som standard Ja Ja Ja Ja Ja Ja Nej
LibreSSL Ja Nej Ja Ja Ja Ja Ja Ja Ja
MatrixSSL Ja Nej Ja Nej Ja Ja Ja Ja Nej
Mbed TLS Ja Nej Ja Nej Ja Ja Ja Ja Nej
NSS Ja Inaktiverad som standard Ja Ja Ja Ja Ja Ja Nej
OpenSSL Ja Nej Ja Inaktiverad som standard Ja Ja Ja Ja Ja
Kanal XP/2003 Ja Ja Nej
XP: Max 1024 bitar 2003: endast 1024 bitar
Nej Nej Nej Nej Nej
Kanal Vista/2008 Ja Inaktiverad som standard Nej 1024 bitar som standard Nej Ja Nej förutom AES_GCM Nej
Kanal 8/2012 Ja Inaktiverad som standard Endast AES_GCM 1024 bitar som standard Nej Ja Nej förutom AES_GCM Nej
Kanal 7/2008R2, 8.1/2012R2 Ja Inaktiverad som standard Ja 2048 bitar som standard Nej Ja Nej förutom AES_GCM Nej
Kanal 10 Ja Inaktiverad som standard Ja 2048 bitar som standard Nej Ja Nej Ja Nej
Säker transport OS X 10.6 Ja Ja förutom AES_GCM Ja Ja förutom AES_GCM ja förutom AES_GCM Nej
Säker transport OS X 10.8-10.10 Ja Nej förutom AES_GCM Nej Ja förutom AES_GCM Ja förutom AES_GCM Nej
Säker transport OS X 10.11 Ja Nej Ja Nej Nej Ja Nej Ja Nej
wolfSSL Ja Nej Ja Nej Ja Ja Ja Ja Nej
Erlang /OTP SSL-applikation Ja Nej Ja Ja Ja Ja Ja Ja Nej
Genomförande RSA RSA -EXPORT (osäker) DHE - RSA ( forward sekretess ) DHE - DSS ( forward sekretess ) ECDH - ECDSA ECDHE - ECDSA ( forward sekretess ) ECDH - RSA ECDHE - RSA ( forward sekretess ) GOST R 34.10-94, 34.10-2001

Nyckelutbytealgoritmer (alternativa nyckelutbyten)

Genomförande SRP SRP - DSS SRP - RSA PSK - RSA PSK DHE - PSK ( forward sekretess ) ECDHE - PSK ( forward sekretess ) KRB5 DH -ANON (osäker) ECDH -ANON (osäker)
Botan Ja Ja Ja Nej Ja Ja Ja Nej Inaktiverad som standard Inaktiverad som standard
BSAFE SSL-J Nej Nej Nej Nej Ja Nej Nej Nej Inaktiverad som standard Inaktiverad som standard
cryptlib Nej Nej Nej Nej Ja Ja Nej Okänd Nej Nej
GnuTLS Ja Ja Ja Ja Ja Ja Ja Nej Inaktiverad som standard Inaktiverad som standard
JSSE Nej Nej Nej Nej Nej Nej Nej Nej Inaktiverad som standard Inaktiverad som standard
LibreSSL Nej Nej Nej Nej Nej Nej Nej Nej Ja Ja
MatrixSSL Nej Nej Nej Ja Ja Ja Nej Nej Inaktiverad som standard Nej
Mbed TLS Nej Nej Nej Ja Ja Ja Ja Nej Nej Nej
NSS Nej Nej Nej Nej Nej Nej Nej Nej Endast klientsidan, inaktiverad som standard Inaktiverad som standard
OpenSSL Ja Ja Ja Ja Ja Ja Ja Ja Inaktiverad som standard Inaktiverad som standard
Kanal Nej Nej Nej Nej Nej Nej Nej Ja Nej Nej
Säker transport Nej Nej Nej Nej Nej Nej Nej Okänd Ja Ja
wolfSSL Ja Ja Ja Ja Ja Ja Ja Ja Nej Nej
Erlang /OTP SSL-applikation Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard Nej Nej Inaktiverad som standard Inaktiverad som standard
Genomförande SRP SRP - DSS SRP - RSA PSK - RSA PSK DHE - PSK ( forward sekretess ) ECDHE - PSK ( forward sekretess ) KRB5 DH -ANON (osäker) ECDH -ANON (osäker)

Certifikatverifieringsmetoder

Genomförande Applikationsdefinierad PKIX-sökvägsvalidering CRL OCSP DANE (DNSSEC) Trust on First Use (TOFU) CT
Botan Ja Ja Ja Ja Nej Nej Okänd
Hoppborg Ja Ja Ja Ja Ja Nej Okänd
BSAFE Ja Ja Ja Ja Nej Nej Okänd
cryptlib Ja Ja Ja Ja Nej Nej Okänd
GnuTLS Ja Ja Ja Ja Ja Ja Okänd
JSSE Ja Ja Ja Ja Nej Nej Nej
LibreSSL Ja Ja Ja Ja Nej Nej Okänd
MatrixSSL Ja Ja Ja Ja Nej Nej Okänd
Mbed TLS Ja Ja Ja Nej Nej Nej Okänd
NSS Ja Ja Ja Ja Nej Nej Okänd
OpenSSL Ja Ja Ja Ja Ja Nej Ja
s2n Nej Okänd Okänd
Kanal Okänd Ja Ja Ja Nej Nej Okänd
Säker transport Ja Ja Ja Ja Nej Nej Okänd
wolfSSL Ja Ja Ja Ja Nej Nej Okänd
Erlang /OTP SSL-applikation Ja Ja Ja Nej Nej Nej Okänd
Genomförande Applikationsdefinierad PKIX-sökvägsvalidering CRL OCSP DANE (DNSSEC) Trust on First Use (TOFU) CT

Krypteringsalgoritmer

Genomförande Blockchiffer med funktionssätt Stream chiffer Ingen
AES GCM
AES CCM
AES CBC Camellia GCM
Camellia CBC
ARIA GCM
ARIA CBC
SEED CBC

3DES EDE CBC (osäker)

GOST 28147-89 CNT (föreslagen)
ChaCha20 - Poly1305

Null (osäker)
Botan Ja Ja Ja Ja Ja Nej Nej Inaktiverad som standard Inaktiverad som standard Nej Ja Ej implementerad
BoringSSL Ja Nej Ja Nej Nej Nej Nej Nej Ja Nej Ja
BSAFE SSL-J Ja Ja Ja Nej Nej Nej Nej Nej Inaktiverad som standard Nej Nej Inaktiverad som standard
cryptlib Ja Nej Ja Nej Nej Nej Nej Nej Ja Nej Nej Ej implementerad
GnuTLS Ja Ja Ja Ja Ja Nej Nej Nej Inaktiverad som standard Nej Ja Inaktiverad som standard
JSSE Ja Nej Ja Nej Nej Nej Nej Nej Inaktiverad som standard Nej
Ja (JDK 12+)
Inaktiverad som standard
LibreSSL Ja Nej Ja Nej Ja Nej Nej Nej Ja Ja Ja Inaktiverad som standard
MatrixSSL Ja Nej Ja Nej Nej Nej Nej Ja Inaktiverad som standard Nej Ja Inaktiverad som standard
Mbed TLS Ja Ja Ja Ja Ja Ja Ja Nej Nej Nej Ja Inaktiverad som standard vid kompilering
NSS Ja Nej Ja Nej Ja Nej Nej Ja Ja Nej Ja Inaktiverad som standard
OpenSSL Ja Inaktiverad som standard Ja Nej Inaktiverad som standard Inaktiverad som standard Nej Inaktiverad som standard Inaktiverad som standard Ja Ja Inaktiverad som standard
Kanal XP/2003 Nej Nej Endast 2003 Nej Nej Nej Nej Nej Ja Nej Nej Inaktiverad som standard
Channel Vista/2008, 2008R2, 2012 Nej Nej Ja Nej Nej Nej Nej Nej Ja Nej Nej Inaktiverad som standard
Kanal 7, 8, 8.1/2012R2 Ja förutom ECDHE_RSA
Nej Ja Nej Nej Nej Nej Nej Ja Nej Nej Inaktiverad som standard
Kanal 10 Ja Nej Ja Nej Nej Nej Nej Nej Ja Nej Nej Inaktiverad som standard
Säker transport OS X 10.6 - 10.10 Nej Nej Ja Nej Nej Nej Nej Nej Ja Nej Nej Inaktiverad som standard
Säker transport OS X 10.11 Ja Nej Ja Nej Nej Nej Nej Nej Ja Nej Nej Inaktiverad som standard
wolfSSL Ja Ja Ja Nej Nej Nej Nej Nej Ja Nej Ja Inaktiverad som standard
Erlang /OTP SSL-applikation Ja Nej Ja Nej Nej Nej Nej Nej Inaktiverad som standard Nej Experimentell Inaktivera som standard
Genomförande Blockchiffer med funktionssätt Stream chiffer Ingen
AES GCM
AES CCM
AES CBC Camellia GCM
Camellia CBC
ARIA GCM
ARIA CBC
SEED CBC

3DES EDE CBC (osäker)

GOST 28147-89 CNT (föreslagen)
ChaCha20 - Poly1305

Null (osäker)
Anteckningar

Föråldrade algoritmer

Genomförande Blockchiffer med funktionssätt Stream chiffer

IDEA CBC (osäker)

DES CBC (osäker)

DES -40 CBC (EXPORT, osäker)

RC2 -40 CBC (EXPORT, osäker)

RC4 -128 (osäker)

RC4 -40 (EXPORT, osäker)
Botan Nej Nej Nej Nej Nej Nej
BoringSSL Nej Nej Nej Nej Inaktiverad som standard vid kompilering Nej
BSAFE SSL-J Nej Inaktiverad som standard Inaktiverad som standard Nej Inaktiverad som standard Inaktiverad som standard
cryptlib Nej Inaktiverad som standard vid kompilering Nej Nej Inaktiverad som standard vid kompilering Nej
GnuTLS Nej Nej Nej Nej Inaktiverad som standard Nej
JSSE Nej Inaktiverad som standard Inaktiverad som standard Nej Inaktiverad som standard Inaktiverad som standard
LibreSSL Ja Ja Nej Nej Ja Nej
MatrixSSL Ja Nej Nej Nej Inaktiverad som standard Nej
Mbed TLS Nej Inaktiverad som standard vid kompilering Nej Nej Inaktiverad som standard vid kompilering Nej
NSS Ja Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard Lägsta prioritet Inaktiverad som standard
OpenSSL Inaktiverad som standard Inaktiverad som standard Nej Nej Inaktiverad som standard Nej
Kanal XP/2003 Nej Ja Ja Ja Ja Ja
Kanal Vista/2008 Nej Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard Ja Inaktiverad som standard
Kanal 7/2008R2 Nej Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard
Lägsta prioritet kommer snart att inaktiveras
Inaktiverad som standard
Kanal 8/2012 Nej Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard Endast som reserv Inaktiverad som standard
Kanal 8.1/2012R2 Nej Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard
Kanal 10 Nej Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard
Säker transport OS X 10.6 Ja Ja Ja Ja Ja Ja
Säker transport OS X 10.7 Ja Okänd Okänd Okänd Ja Okänd
Säker transport OS X 10.8-10.9 Ja Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard Ja Inaktiverad som standard
Säker transport OS X 10.10-10.11 Ja Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard Lägsta prioritet Inaktiverad som standard
Säker transport macOS 10.12 Ja Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard Inaktiverad som standard
wolfSSL Inaktiverad som standard Nej Nej Nej Inaktiverad som standard Nej
Erlang /OTP SSL-applikation Nej Inaktiverad som standard Nej Nej Inaktiverad som standard Nej
Genomförande Blockchiffer med funktionssätt Stream chiffer

IDEA CBC (osäker)

DES CBC (osäker)

DES -40 CBC (EXPORT, osäker)

RC2 -40 CBC (EXPORT, osäker)

RC4 -128 (osäker)

RC4 -40 (EXPORT, osäker)
Anteckningar

Elliptiska kurvor som stöds

Det här avsnittet listar de elliptiska kurvorna som stöds för varje implementering.

Definierade kurvor i RFC 8446 (för TLS 1.3) och RFC 8422, 7027 (för TLS 1.2 och tidigare)

tillämplig TLS-version TLS 1.3 och tidigare TLS 1.2 och tidigare
Genomförande


secp256r1 prime256v1 NIST P-256 (0x0017, 23)


secp384r1 NIST P-384 (0x0018, 24)


secp521r1 NIST P-521 (0x0019, 25)

X25519 (0x001D, 29)

X448 (0x001E, 30)

brainpoolP256r1 (26)

brainpoolP384r1 (27)

brainpoolP512r1 (28)
Botan Ja Ja Ja Ja Nej Ja Ja Ja
BoringSSL Ja Ja Ja (inaktiverad som standard) Ja Nej Nej Nej Nej
BSAFE Ja Ja Ja Nej Nej Nej Nej Nej
GnuTLS Ja Ja Ja Ja Ja Nej Nej Nej
JSSE Ja Ja Ja

Ja x25519: JDK 13+ Ed25519:JDK 15+


Ja x448: JDK 13+ Ed448: JDK 15+
Nej Nej Nej
LibreSSL Ja Ja Ja Ja Nej Ja Ja Ja
MatrixSSL Ja Ja Ja Endast TLS 1.3 Nej Ja Ja Ja
Mbed TLS Ja Ja Ja Endast primitiv Endast primitiv Ja Ja Ja
NSS Ja Ja Ja Ja Nej Nej Nej Nej
OpenSSL Ja Ja Ja Ja Ja Ja Ja Ja
Channel Vista/2008, 7/2008R2, 8/2012, 8.1/2012R2, 10 Ja Ja Ja Nej Nej Nej Nej Nej
Säker transport Ja Ja Ja Nej Nej Nej Nej Nej
wolfSSL Ja Ja Ja Ja Ja Ja Ja Ja
Erlang /OTP SSL-applikation Ja Ja Ja Nej Nej Ja Ja Ja
Genomförande


secp256r1 prime256v1 NIST P-256 (0x0017, 23)


secp384r1 NIST P-384 (0x0018, 24)


secp521r1 NIST P-521 (0x0019, 25)

X25519 (0x001D, 29)

X448 (0x001E, 30)

brainpoolP256r1 (26)

brainpoolP384r1 (27)

brainpoolP512r1 (28)

Föreslagna kurvor

Genomförande
M221 Curve2213
E222
Kurva 1174
E382
M383
Kurva383187

Curve41417 Curve3617

M511 Curve511187
E521
Botan Nej Nej Nej Nej Nej Nej Nej Nej Nej
BoringSSL Nej Nej Nej Nej Nej Nej Nej Nej Nej
BSAFE Nej Nej Nej Nej Nej Nej Nej Nej Nej
GnuTLS Nej Nej Nej Nej Nej Nej Nej Nej Nej
JSSE Nej Nej Nej Nej Nej Nej Nej Nej Nej
LibreSSL Nej Nej Nej Nej Nej Nej Nej Nej Nej
MatrixSSL Nej Nej Nej Nej Nej Nej Nej Nej Nej
Mbed TLS Nej Nej Nej Nej Nej Nej Nej Nej Nej
NSS Nej Nej Nej Nej Nej Nej Nej Nej Nej
OpenSSL Nej Nej Nej Nej Nej Nej Nej Nej Nej
Channel Vista/2008, 7/2008R2, 8/2012, 8.1/2012R2, 10 Nej Nej Nej Nej Nej Nej Nej Nej Nej
Säker transport Nej Nej Nej Nej Nej Nej Nej Nej Nej
wolfSSL Nej Nej Nej Nej Nej Nej Nej Nej Nej
Erlang /OTP SSL-applikation Nej Nej Nej Nej Nej Nej Nej Nej Nej
Genomförande
M221 Curve2213
E222 Kurva 1174 E382 M383 Kurva383187
Curve41417 Curve3617

M511 Curve511187
E521

Föråldrade kurvor i RFC 8422

Genomförande

sect163k1 NIST K-163 (1)

sect163r1 (2)


sect163r2 NIST B-163 (3)

sect193r1 (4)

sect193r2 (5)


sect233k1 NIST K-233 (6)


sect233r1 NIST B-233 (7)

sect239k1 (8)


sect283k1 NIST K-283 (9)


sect283r1 NIST B-283 (10)


sect409k1 NIST K-409 (11)


sect409r1 NIST B-409 (12)


sect571k1 NIST K-571 (13)


sect571r1 NIST B-571 (14)
Botan Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej
BoringSSL Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej
BSAFE Ja Nej Ja Nej Nej Ja Ja Nej Ja Ja Ja Ja Ja Ja
GnuTLS Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej
JSSE Anteckningar Anteckningar Anteckningar Anteckningar Anteckningar Anteckningar Anteckningar Anteckningar Anteckningar Anteckningar Anteckningar Anteckningar Anteckningar Anteckningar
LibreSSL Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
MatrixSSL Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej
Mbed TLS Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej
NSS Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
OpenSSL Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
Channel Vista/2008, 7/2008R2, 8/2012, 8.1/2012R2, 10 Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej
Säker transport Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej
wolfSSL Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej
Erlang /OTP SSL-applikation Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja
Genomförande

sect163k1 NIST K-163 (1)

sect163r1 (2)


sect163r2 NIST B-163 (3)

sect193r1 (4)

sect193r2 (5)


sect233k1 NIST K-233 (6)


sect233r1 NIST B-233 (7)

sect239k1 (8)


sect283k1 NIST K-283 (9)


sect283r1 NIST B-283 (10)


sect409k1 NIST K-409 (11)


sect409r1 NIST B-409 (12)


sect571k1 NIST K-571 (13)


sect571r1 NIST B-571 (14)
Genomförande
secp160k1 (15)

secp160r1 (16)

secp160r2 (17)

secp192k1 (18)



secp192r1 prime192v1 NIST P-192 (19)

secp224k1 (20)


secp224r1 NIST P-244 (21)

secp256k1 (22)

godtyckliga primkurvor (0xFF01)

godtyckliga char2-kurvor (0xFF02)
Botan Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej
BoringSSL Nej Nej Nej Nej Nej Nej Ja Nej Nej Nej
BSAFE Nej Nej Nej Nej Ja Nej Ja Nej Nej Nej
GnuTLS Nej Nej Nej Nej Ja Nej Ja Nej Nej Nej
JSSE Anteckningar Anteckningar Anteckningar Anteckningar Anteckningar Anteckningar Anteckningar Anteckningar Nej Nej
LibreSSL Ja Ja Ja Ja Ja Ja Ja Ja Nej Nej
MatrixSSL Nej Nej Nej Nej Ja Nej Ja Nej Nej Nej
Mbed TLS Nej Nej Nej Ja Ja Ja Ja Ja Nej Nej
NSS Ja Ja Ja Ja Ja Ja Ja Ja Nej Nej
OpenSSL Ja Ja Ja Ja Ja Ja Ja Ja Nej Nej
Kanal Vista/2008, 7/2008R2, 8/2012, 8.1/2012R2, 10 Nej Nej Nej Nej Nej Nej Nej Nej Nej Nej
Säker transport Nej Nej Nej Nej Ja Nej Nej Nej Nej Nej
wolfSSL Ja Ja Ja Ja Ja Ja Ja Ja Nej Nej
Erlang /OTP SSL-applikation Ja Ja Ja Ja Ja Ja Ja Ja Nej Nej
Genomförande
secp160k1 (15)

secp160r1 (16)

secp160r2 (17)

secp192k1 (18)



secp192r1 prime192v1 NIST P-192 (19)

secp224k1 (20)


secp224r1 NIST P-244 (21)

secp256k1 (22)

godtyckliga primkurvor (0xFF01)

godtyckliga char2-kurvor (0xFF02)
Anteckningar

Dataintegritet

Genomförande HMAC - MD5 HMAC - SHA1 HMAC - SHA256/384 AEAD GOST 28147-89 IMIT GOST R 34,11-94
Botan Nej Ja Ja Ja Nej Nej
BSAFE Ja Ja Ja Ja Nej Nej
cryptlib Ja Ja Ja Ja Nej Nej
GnuTLS Ja Ja Ja Ja Nej Nej
JSSE Inaktiverad som standard Ja Ja Ja Nej Nej
LibreSSL Ja Ja Ja Ja Ja Ja
MatrixSSL Ja Ja Ja Ja Nej Nej
Mbed TLS Ja Ja Ja Ja Nej Nej
NSS Ja Ja Ja Ja Nej Nej
OpenSSL Ja Ja Ja Ja Ja Ja
Kanal XP/2003, Vista/2008 Ja Ja XP SP3, 2003 SP2 via snabbkorrigering Nej Nej Nej
Kanal 7/2008R2, 8/2012, 8.1/2012R2 Ja Ja Ja förutom ECDHE_RSA Nej Nej
Kanal 10 Ja Ja Ja Ja Nej Nej
Säker transport Ja Ja Ja Ja Nej Nej
wolfSSL Ja Ja Ja Ja Nej Nej
Erlang /OTP SSL-applikation Ja Ja Ja Ja Nej Nej
Genomförande HMAC-MD5 HMAC-SHA1 HMAC-SHA256/384 AEAD GOST 28147-89 IMIT GOST R 34,11-94

Kompression

Observera att CRIME-säkerhetsutnyttjandet drar fördel av TLS-komprimering, så konservativa implementeringar möjliggör inte komprimering på TLS-nivå. HTTP-komprimering är inte relaterat till och påverkas inte av detta utnyttjande, men utnyttjas av den relaterade BREACH-attacken .

Genomförande
DEFLATE (osäkert)
Botan Nej
BSAFE Nej
cryptlib Nej
GnuTLS Inaktiverad som standard
JSSE Nej
LibreSSL Nej
MatrixSSL Inaktiverad som standard
Mbed TLS Inaktiverad som standard
NSS Inaktiverad som standard
OpenSSL Inaktiverad som standard
Kanal Nej
Säker transport Nej
wolfSSL Inaktiverad som standard
Erlang /OTP SSL-applikation Nej
Genomförande DEFLATE

Tillägg

I det här avsnittet listas de tillägg som varje implementering stöder. Observera att tillägget Secure Renegotiation är avgörande för HTTPS-klientsäkerheten [ citat behövs ] . TLS-klienter som inte implementerar det är sårbara för attacker, oavsett om klienten implementerar TLS-omförhandling.

Genomförande Säker omförhandling
Servernamnsindikation
ALPN
Begäran om certifikatstatus
ÖppnaPGP
Kompletterande data
Session biljett
Exportör av nyckelmaterial
Maximal fragmentlängd
Trunkerad HMAC
Kryptera-sedan-MAC
TLS reserv SCSV
Utökad Master Secret
ClientHej Padding
Rå offentliga nycklar
Botan Ja Ja Ja Nej Nej Nej Ja Ja Ja Nej Ja Ja Ja Nej Okänd
BSAFE SSL-J Ja Ja Nej Ja Nej Nej Nej Nej Ja Nej Nej Nej Ja Nej Nej
cryptlib Ja Ja Nej Nej Nej Ja Nej Nej Nej Nej Ja Ja Ja Nej Okänd
GnuTLS Ja Ja Ja Ja Nej Ja Ja Ja Ja Nej Ja Ja Ja Ja Ja
JSSE Ja Ja Ja Ja Nej Nej Ja Nej Ja Nej Nej Nej Ja Nej Nej
LibreSSL Ja Ja Ja Ja Nej Nej? Ja Ja? Nej Nej Nej Endast serversidan Nej Ja Nej
MatrixSSL Ja Ja Ja Ja Nej Nej Ja Nej Ja Ja Nej Ja Ja Nej Okänd
Mbed TLS Ja Ja Ja Nej Nej Nej Ja Nej Ja Inaktiverad som standard Ja Ja Ja Nej Nej
NSS Ja Ja Ja Ja Nej Nej Ja Ja Nej Nej Nej Ja Ja Ja Okänd
OpenSSL Ja Ja Ja Ja Nej Nej? Ja Ja Ja Nej Ja Ja Ja Ja Nej
Kanal XP/2003 Nej Nej Nej Nej Nej Ja Nej Nej Nej Nej Nej Nej Nej Nej Okänd
Kanal Vista/2008 Ja Ja Nej Nej Nej Ja Nej Nej Nej Nej Nej Nej Ja Nej Okänd
Kanal 7/2008R2 Ja Ja Nej Ja Nej Ja Nej Nej Nej Nej Nej Nej Ja Nej Okänd
Kanal 8/2012 Ja Ja Nej Ja Nej Ja Endast klientsidan Nej Nej Nej Nej Nej Ja Nej Okänd
Kanal 8.1/2012R2, 10 Ja Ja Ja Ja Nej Ja Ja Nej Nej Nej Nej Nej Ja Nej Okänd
Säker transport Ja Ja Okänd Nej Nej Ja Nej Nej Nej Nej Nej Nej Nej Nej Okänd
wolfSSL Ja Ja Ja Ja Nej Nej Ja Nej Ja Ja Ja Nej Ja Nej Okänd
Erlang/OTP SSL-applikation Ja Ja Ja Nej Nej Nej Nej Nej Nej Nej Nej Ja Nej Nej Okänd
Genomförande Säker omförhandling Servernamnsindikation ALPN Begäran om certifikatstatus ÖppnaPGP Kompletterande data Session biljett Exportör av nyckelmaterial Maximal fragmentlängd Trunkerad HMAC Kryptera-sedan-MAC TLS reserv SCSV Utökad Master Secret ClientHej Padding Rå offentliga nycklar

Assisterad kryptografi

Det här avsnittet listar den kända förmågan hos en implementering att dra fördel av CPU-instruktionsuppsättningar som optimerar kryptering, eller använder systemspecifika enheter som tillåter åtkomst till underliggande kryptografisk hårdvara för acceleration eller för dataseparering.

Genomförande PKCS #11-enhet Intel AES-NI VIA PadLock ARMv8-A Intel SGX Intel QAT Intel SHA NXP CAAM
Botan Ja Ja Nej Ja Nej Nej Nej
BSAFE SSL-J Ja Ja Nej Ja Nej Nej Ja Nej
cryptlib Ja Ja Ja Nej Nej
Krypto++ Ja Nej Ja
GnuTLS Ja Ja Ja Ja Nej Nej Ja
JSSE Ja Ja Nej Nej Nej Nej
LibreSSL Nej Ja Ja Nej Nej
MatrixSSL Ja Ja Nej Ja Nej Nej
Mbed TLS Ja Ja Ja Nej Nej Nej
NSS Ja Ja Nej Nej Nej Nej
OpenSSL Ja Ja Ja Ja Nej Ja Partiell
Kanal Nej Ja Nej Nej Nej Nej
Säker transport Nej Ja Nej Ja Nej Nej
wolfSSL Ja Ja Nej Ja Ja Ja Ja
Genomförande PKCS #11-enhet Intel AES-NI VIA PadLock ARMv8-A Intel SGX Intel QAT Intel SHA NXP CAAM

Systemspecifika backends

Det här avsnittet listar en implementerings förmåga att dra fördel av de tillgängliga operativsystemspecifika backends, eller till och med de backends som tillhandahålls av en annan implementering.

Genomförande /dev/crypto af_alg Windows CSP CommonCrypto OpenSSL-motor
Botan Nej Nej Nej Nej Partiell
BSAFE Nej Nej Nej Nej Nej
cryptlib Nej Nej Nej Nej Nej
GnuTLS Ja Ja Nej Nej Nej
JSSE Nej Nej Ja Nej Nej
LibreSSL Nej Nej Nej Nej Nej
MatrixSSL Nej Nej Nej Ja Ja
Mbed TLS Nej Nej Nej Nej Nej
NSS Nej Nej Nej Nej Nej
OpenSSL Ja Ja Nej Nej Ja
Kanal Nej Nej Ja Nej Nej
Säker transport Nej Nej Nej Ja Nej
wolfSSL Ja Ja Partiell Nej Ja
Erlang /OTP SSL-applikation Nej Nej Nej Nej Ja
Genomförande /dev/crypto af_alg Windows CSP CommonCrypto OpenSSL-motor

Stöd för kryptografisk modul/token

Genomförande TPM- stöd Stöd för maskinvarutoken Objekt identifierade via
Botan Partiell PKCS11
BSAFE SSL-J Nej Nej
cryptlib Nej PKCS11 Användardefinierad etikett
GnuTLS Ja PKCS11 RFC 7512 PKCS #11 webbadresser
JSSE Nej
PKCS11 Java Cryptography Architecture , Java Cryptography Extension
LibreSSL Ja PKCS11 (via tredje parts modul) Anpassad metod
MatrixSSL Nej PKCS11
Mbed TLS Nej PKCS11 (via libpkcs11-helper) eller standardkrokar Anpassad metod
NSS Nej PKCS11
OpenSSL Ja PKCS11 (via tredje parts modul) RFC 7512 PKCS #11 webbadresser
Kanal Nej Microsoft CryptoAPI UUID, användardefinierad etikett
Säker transport
wolfSSL Ja PKCS11
Genomförande TPM-stöd Stöd för maskinvarutoken Objekt identifierade via

Kodberoenden

Genomförande Beroenden Valfria beroenden
Botan C++11





sqlite zlib (komprimering) bzip2 (komprimering) liblzma (komprimering) boost openssl (krypto backend) byxor (TPM)
GnuTLS

libc nässlor gmp



zlib (kompression) p11-kit (PKCS #11) byxor (TPM) libunbound (DANE)
JSSE Java
MatrixSSL ingen zlib (komprimering)
MatrixSSL-öppen libc eller newlib
Mbed TLS libc
libpkcs11-helper (PKCS #11) zlib (komprimering)
NSS



libc libnspr4 libsoftokn3 libplc4 libplds4
zlib (komprimering)
OpenSSL libc zlib (komprimering)
wolfSSL Ingen
libc zlib (komprimering)
Erlang /OTP ssl-applikation libcrypto (från OpenSSL), Erlang/OTP och dess public_key, crypto och asn1 applikationer Erlang/OTP -inets (http-hämtning av CRL)
Genomförande Beroenden Valfria beroenden

Utvecklingsmiljö

Genomförande Namnutrymme Bygg verktyg API-manual Krypto back-end OpenSSL-kompatibilitetslager [ förtydliga ]
Botan Botan::TLS Makefile Sfinx Ingår (pluggbar) Nej
Hoppborg org.hoppborg Java utvecklingsmiljö Programmerares referensmanual (PDF) Ingår (pluggbar) Nej
BSAFE SSL-J com.rsa.asn1





com.rsa.certj com.rsa.jcp com.rsa.jsafe com.rsa.ssl com.rsa.jsse

Java klassladdare Javadoc, utvecklarguide (HTML) Ingår Nej
cryptlib krypta* makefile, MSVC-projektarbetsytor Programmerares referensmanual (PDF), handbok för arkitekturdesign (PDF) Ingår (monolitisk) Nej
GnuTLS gnutls_* Autoconf, automake, libtool Manual och API-referens (HTML, PDF) Extern, libnettle Ja (begränsat)
JSSE javax.net.ssl

sun.security.ssl

Makefile API-referens (HTML) +

JSSE Referensguide


Java Cryptography Architecture , Java Cryptography Extension
Nej
MatrixSSL matrixSsl_*

ps*

Makefile, MSVC-projektarbetsytor, Xcode-projekt för OS X och iOS API-referens (PDF), Integrationsguide Ingår (pluggbar) Ja (underuppsättning: SSL_read, SSL_write, etc.)
Mbed TLS mbedtls_ssl_*




mbedtls_sha1_* mbedtls_md5_* mbedtls_x509* ...

Makefile, CMake , MSVC-projektarbetsytor, yotta API-referens + högnivå- och modulnivådokumentation (HTML) Ingår (monolitisk) Nej
NSS CERT_*






SEC_* SECKEY_* NSS_* PK11_* SSL_* ...

Makefile Manuell (HTML) Ingår, PKCS#11-baserad Ja (separat paket som heter nss_compat_ossl)
OpenSSL SSL_*




SHA1_* MD5_* EVP_* ...

Makefile Man-sidor Ingår (monolitisk)
wolfSSL wolfSSL_*


CyaSSL_* SSL_*

Autoconf, automake, libtool, MSVC-projektarbetsytor, XCode-projekt, CodeWarrior-projekt, MPLAB X-projekt, Keil, IAR, Clang, GCC, e2Studio Manual och API-referens (HTML, PDF) Ingår (monolitisk) Ja (cirka 60 % av API)
Genomförande Namnutrymme Bygg verktyg API-manual Krypto back-end OpenSSL-kompatibilitetslager
  1. ^
    ASN.1 manipulationsklasser
  2. ^
    Cert-J proprietära API
  3. ^
    Certifikat Path manipulation klasser
  4. ^
    Crypto-J proprietära API, JCE , CMS och PKI
  5. API
  6. ^
    SSLJ proprietärt API
  7. ^
    JSSE API

Portabilitetsproblem

Genomförande Plattformskrav Nätverkskrav Trådsäkerhet Slumpmässigt frö Kan korskompilera Inget OS (bar metall) Operativsystem som stöds
Botan C++11 Ingen Trådsäker Plattformsberoende Ja Windows, Linux, macOS, Android, iOS, FreeBSD, OpenBSD, Solaris, AIX, HP-UX, QNX, BeOS, IncludeOS
BSAFE SSL-J Java Java SE nätverkskomponenter Trådsäker Beror på java.security.SecureRandom Ja Nej FreeBSD, Linux, macOS, Microsoft Windows, Android, AIX, Solaris
cryptlib C89 POSIX send() och recv(). API för att tillhandahålla din egen ersättare Trådsäker Plattformsberoende, inklusive hårdvarukällor Ja Ja AMX, BeOS, ChorusOS, DOS, eCos, FreeRTOS/OpenRTOS, uItron, MVS, OS/2, Palm OS, QNX Neutrino, RTEMS, Tandem NonStop, ThreadX, uC/OS II, Unix (AIX, FreeBSD, HPUX, Linux, macOS, Solaris, etc.), VDK, VM/CMS, VxWorks, Win16, Win32, Win64, WinCE/PocketPC/etc, XMK
GnuTLS C89 POSIX send() och recv(). API för att tillhandahålla din egen ersättare. Trådsäker, behöver anpassade mutex-krokar om varken POSIX- eller Windows-trådar är tillgängliga. Plattformsberoende Ja Nej Vanligtvis inkluderar alla POSIX-plattformar eller Windows, ofta testade plattformar Linux, Win32/64, macOS, Solaris, OpenWRT, FreeBSD, NetBSD, OpenBSD.
JSSE Java Java SE nätverkskomponenter Trådsäker Beror på java.security.SecureRandom Ja Java-baserad, plattformsoberoende
MatrixSSL C89 Ingen Trådsäker Plattformsberoende Ja Ja Allt
Mbed TLS C89 POSIX read() och write(). API för att tillhandahålla din egen ersättare. Trådlager tillgängligt (POSIX eller egna krokar) Slumpmässigt frö satt genom entropipool Ja Ja Känd för att fungera på: Win32/64, Linux, macOS, Solaris, FreeBSD, NetBSD, OpenBSD, OpenWRT, iPhone (iOS), Xbox, Android, eCos, SeggerOS
NSS C89, NSPR NSPR PR_Send() och PR_Recv(). API för att tillhandahålla din egen ersättare. Trådsäker Plattformsberoende Ja (men krångligt) Nej AIX, Android, FreeBSD, NetBSD, OpenBSD, BeOS, HP-UX, IRIX, Linux, macOS, OS/2, Solaris, OpenVMS, Amiga DE, Windows, WinCE, Sony PlayStation
OpenSSL C89 Ingen Trådsäker Plattformsberoende Ja Nej Unix-liknande, DOS (med djgpp), Windows, OpenVMS, NetWare, eCos
wolfSSL C89 POSIX send() och recv(). API för att tillhandahålla din egen ersättare. Trådsäker Slumpmässigt frö satt genom wolfCrypt Ja Ja Win32/64, Linux, macOS, Solaris, ThreadX, VxWorks, FreeBSD, NetBSD, OpenBSD, embedded Linux, Yocto Project, OpenEmbedded, WinCE, Haiku, OpenWRT, iPhone (iOS), Android, Nintendo Wii och Gamecube genom DevKitPro, QNX, MontaVista, NonStop, TRON/ITRON/µITRON, eCos, Micrium µC/OS-III, FreeRTOS, SafeRTOS, NXP/Freescale MQX, Nucleus, TinyOS, HP/UX, AIX, ARC MQX, Keil RTX, TI-RTOS, uTasker embOS, INtime, Mbed, uT-Kernel, RIOT, CMSIS-RTOS, FROSTED, Green Hills INTEGRITY, TOPPERS, PetaLinux, Apache mynewt
Genomförande Plattformskrav Nätverkskrav Trådsäkerhet Slumpmässigt frö Kan korskompilera Inget OS (bar metall) Operativsystem som stöds

Se även

  • SCTP — med DTLS-stöd
  • DCCP — med DTLS-stöd
  • SRTP — med DTLS-stöd (DTLS-SRTP) och Secure Real-Time Transport Control Protocol (SRTCP)