wolfSSL ไลบรารี SSL/TLS แบบฝัง
ไลบรารี SSL แบบฝัง wolfSSL (เดิมเรียกว่า CyaSSL) เป็นไลบรารี SSL/TLS น้ำหนักเบาที่เขียนด้วย ANSI C และกำหนดเป้าหมายสำหรับสภาพแวดล้อมแบบฝัง RTOS และสภาพแวดล้อมที่จำกัดทรัพยากร - สาเหตุหลักมาจากขนาด ความเร็ว และชุดคุณลักษณะที่เล็ก โดยทั่วไปจะใช้ในสภาพแวดล้อมการทำงานมาตรฐานเช่นกัน เนื่องจากมีราคาปลอดค่าลิขสิทธิ์และการสนับสนุนข้ามแพลตฟอร์มที่ยอดเยี่ยม wolfSSL รองรับมาตรฐานอุตสาหกรรมจนถึง TLS 1.3 และ DTLS 1.3 ในปัจจุบัน ซึ่งมีขนาดเล็กกว่า OpenSSL ถึง 20 เท่า และนำเสนอการเข้ารหัสแบบก้าวหน้า เช่น กลุ่ม ChaCha20, Curve25519, Blake2b และ Post-Quantum TLS 1.3 การเปรียบเทียบและข้อเสนอแนะของผู้ใช้รายงานประสิทธิภาพที่ดีขึ้นอย่างมากเมื่อใช้ wolfSSL บน OpenSSL
wolfSSL ขับเคลื่อนโดยไลบรารีการเข้ารหัส wolfCrypt wolfCrypt สองเวอร์ชันได้รับการตรวจสอบ FIPS 140-2 แล้ว (ใบรับรอง #2425 และใบรับรอง #3389) อยู่ระหว่างการตรวจสอบ FIPS 140-3 สำหรับข้อมูลเพิ่มเติม โปรดไปที่คำถามที่พบบ่อยของ wolfCrypt FIPS หรือติดต่อ [email protected]
ทำไมถึงเลือก wolfSSL?
มีเหตุผลหลายประการในการเลือก wolfSSL เป็นโซลูชัน SSL/TLS แบบฝัง เดสก์ท็อป อุปกรณ์เคลื่อนที่ หรือระดับองค์กร สาเหตุหลักบางประการ ได้แก่ ขนาด (ขนาดพื้นที่โดยทั่วไปอยู่ระหว่าง 20-100 kB) รองรับมาตรฐานใหม่ล่าสุด (SSL 3.0, TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3, DTLS 1.0, DTLS 1.2 และ DTLS 1.3) การสนับสนุนการเข้ารหัสในปัจจุบันและแบบก้าวหน้า (รวมถึงการเข้ารหัสสตรีม) หลายแพลตฟอร์ม ไม่มีค่าลิขสิทธิ์ และ API ที่เข้ากันได้กับ OpenSSL เพื่อความสะดวกในการย้ายไปยังแอปพลิเคชันที่มีอยู่ซึ่งเคยใช้แพ็คเกจ OpenSSL ก่อนหน้านี้ สำหรับรายการคุณสมบัติทั้งหมด โปรดดูบทที่ 4 ของคู่มือ wolfSSL
หมายเหตุ โปรดอ่าน
หมายเหตุ 1
wolfSSL ตั้งแต่เวอร์ชัน 3.6.6 จะไม่เปิดใช้งาน SSLv3 ตามค่าเริ่มต้นอีกต่อไป wolfSSL ยังไม่รองรับชุดการเข้ารหัสคีย์แบบคงที่ด้วย PSK, RSA หรือ ECDH อีกต่อไป ซึ่งหมายความว่าหากคุณวางแผนที่จะใช้ชุดการเข้ารหัส TLS คุณต้องเปิดใช้งาน DH (DH เปิดอยู่ตามค่าเริ่มต้น) หรือเปิดใช้งาน ECC (ECC เปิดอยู่ตามค่าเริ่มต้น) หรือคุณต้องเปิดใช้งานชุดการเข้ารหัสคีย์แบบคงที่โดยมีการกำหนดต่อไปนี้อย่างน้อยหนึ่งรายการ:
WOLFSSL_STATIC_DH
WOLFSSL_STATIC_RSA
WOLFSSL_STATIC_PSK
แม้ว่าชุดการเข้ารหัสคีย์แบบคงที่จะเลิกใช้งานแล้วและจะถูกลบออกจาก TLS เวอร์ชันในอนาคต พวกเขายังลดความปลอดภัยของคุณด้วยการลบ PFS
เมื่อทำการคอมไพล์ ssl.c
ตอนนี้ wolfSSL จะแสดงข้อผิดพลาดของคอมไพเลอร์ หากไม่มีชุดการเข้ารหัส คุณสามารถลบข้อผิดพลาดนี้ได้โดยกำหนด WOLFSSL_ALLOW_NO_SUITES
ในกรณีที่คุณต้องการ เช่น คุณไม่ได้ใช้ชุดการเข้ารหัส TLS
หมายเหตุ 2
wolfSSL ใช้วิธีการตรวจสอบใบรับรองที่แตกต่างจาก OpenSSL นโยบายเริ่มต้นสำหรับไคลเอนต์คือการตรวจสอบเซิร์ฟเวอร์ ซึ่งหมายความว่าหากคุณไม่โหลด CA เพื่อตรวจสอบเซิร์ฟเวอร์ คุณจะได้รับข้อผิดพลาดในการเชื่อมต่อ ไม่มีข้อผิดพลาดของผู้ลงนามเพื่อยืนยันความล้มเหลว (-188)
หากคุณต้องการเลียนแบบพฤติกรรมของ OpenSSL ที่ทำให้ SSL_connect
สำเร็จ แม้ว่าการตรวจสอบเซิร์ฟเวอร์จะล้มเหลวและลดความปลอดภัย คุณสามารถทำได้โดยการโทร:
wolfSSL_CTX_set_verify ( ctx , WOLFSSL_VERIFY_NONE , NULL );
ก่อนที่จะเรียก wolfSSL_new();
- แม้ว่าจะไม่แนะนำก็ตาม
หมายเหตุ 3
ค่าแจงนับ SHA, SHA256, SHA384, SHA512 จะไม่สามารถใช้ได้อีกต่อไปเมื่อ wolfSSL ถูกสร้างขึ้นด้วย --enable-opensslextra
( OPENSSL_EXTRA
) หรือด้วยมาโคร NO_OLD_SHA_NAMES
ชื่อเหล่านี้จะถูกแมปกับ OpenSSL API สำหรับฟังก์ชันแฮชการโทรเดี่ยว ควรใช้ชื่อ WC_SHA
, WC_SHA256
, WC_SHA384
และ WC_SHA512
สำหรับชื่อ enum แทน
wolfSSL รุ่น 5.7.4 (24 ต.ค. 2024)
รีลีส 5.7.4 ได้รับการพัฒนาตามการพัฒนาและกระบวนการ QA ของ wolfSSL (ดูลิงก์ด้านล่าง) และผ่านเกณฑ์คุณภาพได้สำเร็จ https://www.wolfssl.com/about/wolfssl-software-development-process-quality- Assurance
หมายเหตุ: * --enable-heapmath กำลังเลิกใช้แล้วและจะถูกลบออกภายในสิ้นปี 2567
PR ย่อมาจาก Pull Request และ PR อ้างอิงถึงหมายเลขคำขอดึง GitHub ซึ่งมีการเพิ่มการเปลี่ยนแปลงโค้ด
ช่องโหว่
- [ต่ำ] เมื่อเปิดใช้งานเลเยอร์ความเข้ากันได้ของ OpenSSL การตรวจสอบใบรับรองจะทำงานแตกต่างออกไปใน wolfSSL มากกว่า OpenSSL ในการใช้งาน X509_STORE_add_cert() และ X509_STORE_load_locations() ก่อนหน้านี้ ในกรณีที่แอปพลิเคชันโหลดใบรับรองระดับกลางอย่างชัดเจน wolfSSL จะตรวจสอบใบรับรองระดับกลางเท่านั้น แทนที่จะตรวจสอบจนถึง CA หลัก ซึ่งจะส่งผลต่อกรณีการใช้งานที่มีการเรียก API โดยตรงเท่านั้น และไม่ส่งผลต่อการเชื่อมต่อ TLS ขอแนะนำให้ผู้ใช้ที่เรียก API X509_STORE_add_cert() หรือ X509_STORE_load_locations() โดยตรงในแอปพลิเคชันของตนให้อัปเดตเวอร์ชันของ wolfSSL ที่ใช้หรือเพื่อให้มีการตรวจสอบความถูกต้องเพิ่มเติมเกี่ยวกับใบรับรองที่โหลดลงใน X509_STORE เมื่อตรวจสอบใบรับรอง (#8087)
แก้ไขการสร้างการทดลอง PQC TLS
- เมื่อใช้ TLS โดยเปิดใช้งานอัลกอริธึมหลังควอนตัม การเชื่อมต่อจะใช้เส้นโค้ง EC ที่เล็กกว่าที่ตกลงไว้ แนะนำให้ผู้ใช้ที่สร้าง --enable-experimental และเปิดใช้งานชุดการเข้ารหัส PQC ด้วยการเชื่อมต่อ TLS เพื่ออัปเดตเวอร์ชันของ wolfSSL ที่ใช้ ขอบคุณ Daniel Correa สำหรับรายงาน (#8084)
การเพิ่มคุณสมบัติใหม่
- เพิ่มการเพิ่มประสิทธิภาพแอสเซมบลี RISC-V 64 ใหม่สำหรับ SHA-256, SHA-512, ChaCha20, Poly1305 และ SHA-3 (PR 7758,7833,7818,7873,7916)
- ใช้การสนับสนุนสำหรับรหัสการเชื่อมต่อ (CID) ด้วย DTLS 1.2 (PR 7995)
- เพิ่มการสนับสนุนสำหรับ (DevkitPro) libnds (PR 7990)
- เพิ่มพอร์ตสำหรับ Mosquitto OSP (โครงการโอเพ่นซอร์ส) (PR 6460)
- เพิ่มพอร์ตสำหรับ init sssd (PR 7781)
- เพิ่มพอร์ตสำหรับ eXosip2 (PR 7648)
- เพิ่มการรองรับสำหรับ STM32G4 (PR 7997)
- เพิ่มการรองรับ MAX32665 และ MAX32666 TPU HW และ ARM ASM Crypto Callback Support (PR 7777)
- เพิ่มการสนับสนุนสำหรับการสร้าง wolfSSL เพื่อใช้ใน libspdm (PR 7869)
- เพิ่มพอร์ตสำหรับใช้กับ Nucleus Plus 2.3 (PR 7732)
- การสนับสนุนเบื้องต้นสำหรับใบรับรองแอตทริบิวต์ RFC5755 x509 (acers) เปิดใช้งานด้วย --enable-acert (PR 7926)
- PKCS#11 RSA Padding offload อนุญาตให้โทเค็นดำเนินการ CKM_RSA_PKCS (ลงชื่อ/เข้ารหัส), CKM_RSA_PKCS_PSS (ลงชื่อ) และ CKM_RSA_PKCS_OAEP (เข้ารหัส) (ประชาสัมพันธ์ 7750)
- เพิ่มฟังก์ชันสไตล์ "ใหม่" และ "ลบ" สำหรับการจัดสรรฮีป/พูล และการปล่อยโครงสร้าง crypto ระดับต่ำ (PR 3166 และ 8089)
การปรับปรุงและการเพิ่มประสิทธิภาพ
- เพิ่ม alt สูงสุดเริ่มต้น ชื่อตั้งแต่ 128 ถึง 1,024 (PR 7762)
- เพิ่มฟังก์ชันเวลาคงที่ใหม่ DH ตกลง wc_DhAgree_ct (PR 7802)
- ขยายเลเยอร์ความเข้ากันได้ด้วย API EVP_PKEY_is_a (PR 7804)
- เพิ่มตัวเลือกเพื่อปิดการใช้งานการทดสอบซอฟต์แวร์ทดสอบ cryptocb โดยใช้ --disable-cryptocb-sw-test (PR 7862)
- เพิ่มการโทรเพื่อยืนยันใบรับรองการโทรกลับก่อนตรวจสอบวันที่ใบรับรอง (PR 7895)
- อัลกอริธึมแบบขยายที่รองรับด้วย wrapper wolfCrypt CSharp การเพิ่มการรองรับ RNG, ECC(ECIES และ ECDHE), RSA, ED25519/Curve25519, AES-GCM และ Hashing (PR 3166)
- ขยายการรองรับ MMCAU เพื่อใช้กับ DES ECB (PR 7960)
- อัปเดต AES SIV เพื่อจัดการอินพุตข้อมูลที่เกี่ยวข้องหลายรายการ (PR 7911)
- ลบ HAVE_NULL_CIPHER จาก --enable-openssh (PR 7811)
- ลบรายการที่ซ้ำกันหาก (NULL) ตรวจสอบเมื่อโทร XFREE (มาโครทำ) (PR 7839)
- ตั้งค่าเริ่มต้น RSA_MIN_SIZE เป็น 2048 บิต (PR 7923)
- เพิ่มการรองรับ wolfSSL เพื่อใช้เป็น TLS เริ่มต้นในเคอร์เนล zephyr (PR 7731)
- เพิ่มเปิดใช้งานผู้ให้บริการบิลด์โดยใช้ --enable-wolfprovider พร้อม autotools (PR 7550)
- รองรับ Renesas RX TSIP ECDSA (PR 7685)
- รองรับการดาวน์เกรด DTLS1.3 เมื่อเซิร์ฟเวอร์รองรับ CID (PR 7841)
- ฝั่งเซิร์ฟเวอร์ตรวจสอบ OCSP แม้ว่าจะใช้ v2 multi (PR 7828)
- เพิ่มการจัดการพารามิเตอร์แฮชที่ขาดหายไปในการแยกวิเคราะห์และสร้างบันเดิล PKCS7 (PR 7845)
- เพิ่มการใช้ w64wrapper สำหรับ Poly1305 ทำให้สามารถใช้ Poly1305 ในสภาพแวดล้อมที่ไม่มีประเภท word64 (PR 7759)
- อัปเดตเป็นการสนับสนุน maxq10xx (PR 7824)
- เพิ่มการสนับสนุนสำหรับการแยกวิเคราะห์คุณลักษณะเสริม PKCS8 (PR 7944)
- เพิ่มการรองรับวิธีด้านใดด้านหนึ่งด้วย DTLS 1.3 (PR 8012)
- เพิ่มการสนับสนุน PKCS7 PEM สำหรับการแยกวิเคราะห์ข้อมูล PEM ด้วย BEGIN/END PKCS7 (PR 7704)
- เพิ่มการสนับสนุน CMake สำหรับ WOLFSSL_CUSTOM_CURVES (PR 7962)
- เพิ่มการสนับสนุนการจับคู่ไวด์การ์ดซ้ายสุดให้กับ X509_check_host() (PR 7966)
- เพิ่มตัวเลือกในการตั้งค่า SKID แบบกำหนดเองด้วยการสร้างบันเดิล PKCS7 (PR 7954)
- การสร้าง wolfSSL เป็นห้องสมุดด้วย Ada และการแก้ไขรายการ Alire (PR 7303,7940)
- อัปเดตการสนับสนุน Renesas RX72N แล้ว (PR 7849)
- เพิ่มตัวเลือกใหม่ WOLFSSL_COPY_KEY เพื่อคัดลอกคีย์ไปยังวัตถุ SSL เสมอ (PR 8005)
- เพิ่มตัวเลือกใหม่ WOLFSSL_COPY_CERT เพื่อคัดลอกบัฟเฟอร์ใบรับรองสำหรับแต่ละวัตถุ SSL เสมอ (PR 7867)
- เพิ่มตัวเลือกเพื่อใช้ AES-CBC กับ HMAC สำหรับ enc/dec ตั๋วเซสชันเริ่มต้น ค่าเริ่มต้นเป็น AES-128-CBC ด้วย HMAC-SHA256 (PR 7703)
- การปรับปรุงการใช้หน่วยความจำใน wc_PRF, sha256 (สำหรับโค้ดขนาดเล็กเมื่อมีรีจิสเตอร์จำนวนมาก) และวัตถุ sp_int (PR 7901)
- เปลี่ยนสคริปต์กำหนดค่าให้แก้ไข ">>" โดยไม่มีคำสั่ง ในรุ่นเก่า /bin/sh มันอาจจะคลุมเครือ เช่นเดียวกับที่ใช้ในระบบปฏิบัติการเช่น FreeBSD 9.2 (PR 7876)
- อย่าพยายามรวมส่วนหัวของระบบเมื่อไม่จำเป็น (PR 7813)
- ใบรับรอง: การเข้ารหัส DER ของพารามิเตอร์อัลกอริทึมลายเซ็น ECC ได้รับอนุญาตให้เป็น NULL ด้วยการกำหนด (PR 7903)
- SP x86_64 asm: ตรวจสอบการรองรับ AVX2 สำหรับ VM (PR 7979)
- อัปเดตการสนับสนุน rx64n บน gr-rose (PR 7889)
- อัปเดตเวอร์ชัน FSP เป็น v5.4.0 สำหรับ RA6M4 (PR 7994)
- อัปเดตเวอร์ชันไดรเวอร์ TSIP เป็น v1.21 สำหรับ RX65N RSK (PR 7993)
- เพิ่มการโทรกลับ crypto ใหม่สำหรับ RSA พร้อมช่องว่างภายใน (PR 7907)
- แทนที่การใช้ pqm4 ด้วยการใช้งาน wolfSSL ของ Kyber/MLDSA (PR 7924)
- การสนับสนุนรั้วหน่วยความจำที่ทันสมัยสำหรับ C11 และเสียงดังกราว (PR 7938)
- เพิ่มการโทรกลับแทนที่ข้อผิดพลาด CRL (PR 7986)
- ขยายการโทรกลับส่วนขยายที่ไม่รู้จัก X509 เพื่อใช้กับบริบทผู้ใช้ (PR 7730)
- การติดตามข้อผิดพลาดในการตรวจแก้จุดบกพร่องเพิ่มเติมที่เพิ่มด้วย TLS (PR 7917)
- เพิ่มการสนับสนุนรันไทม์สำหรับการติดตามสแต็กการเรียกไลบรารีด้วย –enable-debug-trace-errcodes=backtrace โดยใช้ libbacktrace (PR 7846)
- ขยายความสอดคล้อง C89 (PR 8077)
- ขยายการสนับสนุนสำหรับ WOLFSSL_NO_MALLOC (PR 8065)
- เพิ่มการรองรับการคอมไพล์ข้ามโมดูลเคอร์เนล Linux (PR 7746)
- อัปเดตโมดูลเคอร์เนล Linux พร้อมรองรับเคอร์เนล 6.11 และ 6.12 (PR 7826)
- แนะนำ WOLFSSL_ASN_ALLOW_0_SERIAL เพื่ออนุญาตการแยกวิเคราะห์ใบรับรองที่มีหมายเลขซีเรียลเป็น 0 (PR 7893)
- เพิ่ม repository_owner แบบมีเงื่อนไขให้กับเวิร์กโฟลว์ wolfSSL GitHub ทั้งหมด (PR 7871)
อัพเดต Espressif / Arduino
- อัปเดตการตั้งค่า wolfcrypt.h สำหรับ Espressif ESP-IDF, การอัปเดตเทมเพลต (PR 7953)
- อัปเดต Espressif sha, util, mem, ตัวช่วยเวลา (PR 7955)
- แก้ไข Espressif _thread_local_start และ _thread_local_end (PR 8030)
- ปรับปรุงเกณฑ์มาตรฐานสำหรับอุปกรณ์ Espressif (PR 8037)
- แนะนำ Espressif ทั่วไป CONFIG_WOLFSSL_EXAMPLE_NAME, Kconfig (PR 7866)
- เพิ่ม wolfSSL esp-tls และการสนับสนุนชุดใบรับรองสำหรับ Espressif ESP-IDF (PR 7936)
- อัพเดต wolfssl Release สำหรับ Arduino (PR 7775)
โพสต์การอัปเดต Quantum Crypto
- Dilithium: รองรับอาร์เรย์ขนาดคงที่ใน dilithium_key (PR 7727)
- Dilithium: เพิ่มตัวเลือกการใช้พรีแคลกแบบมีป้ายเล็ก (PR 7744)
- อนุญาตให้ Kyber สร้างด้วย FIPS (PR 7788)
- อนุญาตให้ใช้ Kyber asm ในโมดูลเคอร์เนล Linux (PR 7872)
- Dilithium, Kyber: อัปเดตเป็นข้อกำหนดขั้นสุดท้าย (PR 7877)
- Dilithium: รองรับ FIPS 204 Draft และ Final Draft (PR 7909,8016)
การเพิ่มประสิทธิภาพการประกอบ ARM
- เพิ่มการเพิ่มประสิทธิภาพการประกอบ ARM32 สำหรับ ChaCha20 และ Poly1305 (PR 8020)
- การปรับปรุงการเพิ่มประสิทธิภาพแอสเซมบลี Poly1305 สำหรับ Aarch64 (PR 7859)
- เพิ่มการเพิ่มประสิทธิภาพการประกอบ Poly1305 สำหรับ Thumb-2 (PR 7939)
- การเพิ่มตัวเลือกการสร้าง ARM ASM ให้กับ STM32CubePack (PR 7747)
- เพิ่ม ARM64 ในโครงการ Visual Studio (PR 8010)
- การเพิ่มประสิทธิภาพการประกอบ Kyber สำหรับ ARM32 และ Aarch64 (PR 8040,7998)
- การเพิ่มประสิทธิภาพการประกอบ Kyber สำหรับ ARMv7E-M/ARMv7-M (PR 7706)
แก้ไข
- โหลดคีย์ ECC: แก้ไขใบรับรองที่มีพารามิเตอร์ที่ไม่ใช่ค่าเริ่มต้นสำหรับขนาด (PR 7751)
- การแก้ไขสำหรับการสร้าง x86 ใน Visual Studio สำหรับระบบปฏิบัติการที่ไม่ใช่ windows (PR 7884)
- แก้ไขการโทรกลับลับ TLS v1.2 ตรวจพบความลับหลักไม่ถูกต้อง (PR 7812)
- การแก้ไขสำหรับการใช้แอสเซมบลี PowerPC กับ Darwin และ SP math ทั้งหมด (PR 7931)
- แก้ไขการตรวจหา Mac OS เวอร์ชันเก่าเมื่อพยายามเชื่อมโยงกับ libdispatch (PR 7932)
- แก้ไขสำหรับ DTLS1.3 ปรับลดรุ่นเป็น DTLS1.2 เมื่อเซิร์ฟเวอร์ส่งแพ็คเก็ต handshake หลายชุดรวมกันเป็นการส่งผ่านครั้งเดียว (ประชาสัมพันธ์ 7840)
- แก้ไขสำหรับ OCSP เพื่อบันทึกคำขอหากเก็บไว้ใน ssl->ctx->certOcspRequest (PR 7779)
- แก้ไขเป็น OCSP เพื่อค้นหา CA ด้วยคีย์แฮชแทน ext รหัสคีย์ (PR 7934)
- แก้ไขสำหรับ staticmemory และ singlethreaded build (PR 7737)
- แก้ไขไม่ให้ Shake128/256 กับ Xilinx AFALG (PR 7708)
- แก้ไขเพื่อรองรับ PKCS11 โดยไม่มีการสร้างคีย์ RSA (PR 7738)
- แก้ไขไม่เรียกการโทรกลับการเซ็นชื่อเมื่อใช้การโทรกลับ PK + TLS 1.3 (PR 7761)
- ป้ายกำกับการแก้ไข Cortex-M/Thumb2 ASM สำหรับคอมไพเลอร์ IAR (PR 7753)
- แก้ไขด้วย PKCS11 เพื่อวนซ้ำอย่างถูกต้องผ่าน slotId (PR 7736)
- หยุดการแยกส่วนหัวของลำดับบนส่วนขยาย AltSigAlg (PR 7710)
- แก้ไข ParseCRL_AuthKeyIdExt ด้วยเทมเพลต ASN เพื่อตั้งค่า extAuthKeyIdSet (PR 7742)
- ใช้ความยาวคีย์สูงสุดสำหรับขนาดบัฟเฟอร์การเข้ารหัส PSK (PR 7707)
- การแก้ไข DTLS 1.3 สำหรับการตรวจสอบขนาดเพื่อรวมส่วนหัวและการแก้ไข CID (PR 7912,7951)
- แก้ไข STM32 Hash FIFO และเพิ่มการรองรับสำหรับ STM32U5A9xx (PR 7787)
- แก้ไขข้อผิดพลาดในการสร้าง CMake สำหรับการสร้างลอน (PR 8021)
- SP Maths: แก้ไข PowerPC ASM เพื่อใช้ XOR แทน LI (PR 8038)
- การโหลดคีย์/ใบรับรอง SSL: การทดสอบและแก้ไข (PR 7789)
- เบ็ดเตล็ด การแก้ไขสำหรับ Dilithium และ Kyber (PR 7721,7765,7803,8027,7904)
- การแก้ไขสำหรับการสร้างแหล่งที่มา wolfBoot สำหรับ PQ LMS/XMSS (PR 7868)
- การแก้ไขสำหรับการสร้างที่เปิดใช้งาน Kyber โดยใช้พอร์ต CMake และ zephyr (PR 7773)
- แก้ไขสำหรับกรณี Edge ด้วยการเริ่มเซสชันใหม่ด้วย TLS 1.2 (PR 8097)
- แก้ไขปัญหาเกี่ยวกับ ARM ASM ด้วย AES CFB/OFB ไม่ได้เตรียมใช้งานสมาชิก "ซ้าย" (PR 8099)
สำหรับข้อมูลช่องโหว่เพิ่มเติม โปรดไปที่หน้าช่องโหว่ที่: https://www.wolfssl.com/docs/security-vulnerabilities/
ดูไฟล์ INSTALL สำหรับคำแนะนำในการสร้าง สามารถดูข้อมูลเพิ่มเติมออนไลน์ได้ที่: https://wolfssl.com/wolfSSL/Docs.html
ทรัพยากร
เว็บไซต์ wolfSSL
wolfSSL วิกิ
FIPS 140-2/140-3 คำถามที่พบบ่อย
เอกสาร wolfSSL
คู่มือ wolfSSL
การอ้างอิง wolfSSL API
การอ้างอิง wolfCrypt API
TLS 1.3
ช่องโหว่ wolfSSL
ตัวอย่าง wolfSSL เพิ่มเติม
โครงสร้างไดเร็กทอรี
├── certs [Certificates used in tests and examples]
├── cmake [Cmake build utilities]
├── debian [Debian packaging files]
├── doc [Documentation for wolfSSL (Doxygen)]
├── Docker [Prebuilt Docker environments]
├── examples [wolfSSL examples]
│ ├── asn1 [ASN.1 printing example]
│ ├── async [Asynchronous Cryptography example]
│ ├── benchmark [TLS benchmark example]
│ ├── client [Client example]
│ ├── configs [Example build configurations]
│ ├── echoclient [Echoclient example]
│ ├── echoserver [Echoserver example]
│ ├── pem [Example for convert between PEM and DER]
│ ├── sctp [Servers and clients that demonstrate wolfSSL's DTLS-SCTP support]
│ └── server [Server example]
├── IDE [Contains example projects for various development environments]
├── linuxkm [Linux Kernel Module implementation]
├── m4 [Autotools utilities]
├── mcapi [wolfSSL MPLAB X Project Files]
├── mplabx [wolfSSL MPLAB X Project Files]
├── mqx [wolfSSL Freescale CodeWarrior Project Files]
├── rpm [RPM packaging metadata]
├── RTOS
│ └── nuttx [Port of wolfSSL for NuttX]
├── scripts [Testing scripts]
├── src [wolfSSL source code]
├── sslSniffer [wolfSSL sniffer can be used to passively sniff SSL traffic]
├── support [Contains the pkg-config file]
├── tests [Unit and configuration testing]
├── testsuite [Test application that orchestrates tests]
├── tirtos [Port of wolfSSL for TI RTOS]
├── wolfcrypt [The wolfCrypt component]
│ ├── benchmark [Cryptography benchmarking application]
│ ├── src [wolfCrypt source code]
│ │ └── port [Supported hardware acceleration ports]
│ └── test [Cryptography testing application]
├── wolfssl [Header files]
│ ├── openssl [Compatibility layer headers]
│ └── wolfcrypt [Header files]
├── wrapper [wolfSSL language wrappers]
└── zephyr [Port of wolfSSL for Zephyr RTOS]