| ci: require explicit branches filter for pull_request trigger main, openhitls-0.3, openhitls-0.2 Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1801 | 21 天前 |
| fix: address security review findings on rsa, bn, sha2, mldsa, cmac and CI - ci: run the riscv64 self-hosted job on push only, so untrusted PR code cannot execute on the self-hosted runner - sha2: gate the multi-buffer SHA256 path on the ARM SHA2 extension at init to avoid SIGILL on cores without it; add missing input checks to the one-shot CRYPT_SHA256_MB - mldsa: decrement the loop counter in the ARMv8 UseHint32/88 routines; the missing decrement emitted a 17th 64-byte chunk store, writing 64 bytes past each w[i] polynomial during signature verification. Add an SDV case with a canary after the last polynomial to guard the bound - rsa: reject inLen < 2 in CRYPT_RSA_VerifyPkcsV15Type2TLS before reading in[0]/in[1] to prevent an out-of-bounds read with a malformed short modulus - bn: BN_GenPrime now retries only on a composite candidate and aborts on real errors, preventing an infinite loop when the rand source fails persistently (aligned with OpenSSL behavior) - cmac: replace NULL + 0 pointer arithmetic on empty updates with an index loop to remove undefined behavior - curve25519: clear the partially duplicated key context on the DupCtx failure path - benchmark: reject -l values beyond the fixed buffer size Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1803 | 19 天前 |
| feat: Command-line s_client supports psk_identity/psk parameters. Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1796 | 6 天前 |
| fix: harden file permissions for sensitive data and add input validation - Introduce HITLS_APP_UioOpenPrivate to create key files with 0600 permissions, replacing open-then-chmod pattern to avoid TOCTOU race - Migrate key/PKCS12/rand output paths to use private file creation - Refactor PKCS12 generation to use GenBuff + private UIO write - Add null check for confirmP.data in SPAKE2+ RespDerive - Add max length validation for private pass token challenge requests - Reject AEAD ciphers in enc command explicitly - Add 30s handshake timeout on accepted TCP connections Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1575 | 2 个月前 |
| Fix AKI serial and CRL number decoding Reuse ASN.1 integer validation and normalization. Add regression tests for padded serials and malformed integers Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1856 | 2 天前 |
| feat: port RISC-V Zbb SHA2 support Port the RV64 Zbb SHA-256/SHA-512 compression routines and Linux riscv_hwprobe capability detection to the current CMake model. Add cross-build support and zero-block, multi-block, and capability-error SDV coverage. Origin-Commit: 81e30808f57eb335a94a6dc46433f81e9ffb16b0 Origin-Commit: bdfaf7e807971a4732e661fa496cd243ba87041d Origin-Commit: 3ee25da3b733dfa11f22051d5fce74a7da0795bb Origin-Commit: f8379eac88b35e2dfdcb3e86a623ea58ae2bcd09 Origin-Commit: c43ad0b6e70e11d69ae081fa202e53a9a8cb9d8c Origin-Commit: a23c03f8fd7a6dc9834bb139c2b5bad441504086 Origin-Commit: 123b2c3ce8df9a52f27c322531999901a7325b29 Co-authored-by: dumb <liuermeng2@huawei.com> Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1847 | 7 天前 |
| feat: CDP, IDP, and DeltaCrl encoding/decoding capability trimming Signed-off-by: Lzhjian <liuzhijian24@huawei.com> Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1636 | 2 个月前 |
| Support Pure cmake build build: Migrate build system from Python/JSON/CMake hybrid to pure CMake The previous build system mixed Python scripts and JSON configuration files with CMake, scattering build logic across multiple languages and formats. This made the system hard to understand and maintain, and required a Python interpreter at configure time. The build system has been rewritten entirely in CMake. Feature flags, dependency resolution, platform detection, compiler options, and config-header generation are now all expressed natively in CMake. For more details, see the "Build and Installation" section in README.md. | 5 个月前 |
| perf(bn): 8x-unrolled Montgomery multiplication kernels for x86-64 The 8-limb-divisible squaring path already had a fast route: a dedicated product phase followed by a shared 8-wide Montgomery reduction. Multiplies of the same sizes still went through the 4x interleaved kernels. Add MontMul8xInner (mulx/adcx/adox file) and MontMul8Inner (mulq file): each computes the full 2*size-limb product a*b into the squaring path's scratch buffer with fully unrolled 8-limb row loops, then jumps into the existing shared reduction, so the multiply inherits the proven reduction, final subtract, masked writeback and stack wipe. In the mulx kernel the product rides two independent carry chains (adox for the multiplication chain, adcx for accumulating the previous row); the pending OF is folded into the high-limb register before every dec, which clears OF but preserves CF. In the mulq kernel every limb re-establishes its own carry through a register, so no flags survive the loop control. Row 0 writes t[0..size]; row i accumulates into t[i..i+size-1] and extends one top limb, so every read hits a previously written limb and the final row ends exactly at t[2*size-1]. Dispatch gates by measurement: multiplies enter the 8x frame from 16 limbs in the mulx file and from 24 limbs in the plain-mul file; smaller multiplies stay on the 4x kernels, and squares are unchanged. Measured multiply cost on an ADX core (cycles/op, in-process A/B): -1.8% at 16 limbs, -5.3% at 24, -7.4% at 32, -7.5% at 48, -6.2% at 64; a 2048-bit fixed-window square/multiply mix runs 1.6% faster. On the non-ADX path (instruction counts): -0.7% to -2.5% per multiply from 24 to 64 limbs. All new branches and addresses depend only on the public operand size and pointer identities; the poisoned-secret Valgrind checks (kernels driven directly plus the library-level suites) report zero errors. Validated by 258k randomized differential cases against the previous kernels including all-FF limb patterns and (n-1)^2 inputs, 720 big-integer known-answer vectors, a cross-check of the two kernel families against each other under memcheck, and the bn/rsa/dsa/dh regression suites (1556 cases). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GnjGi7UKAQeddPoWPQLnY4 | 1 天前 |
| feat: Command-line s_client supports psk_identity/psk parameters. Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1796 | 6 天前 |
| feat: The command line pkey supports the -pubin/-inform/-check options, and supports traditional unencrypted DSA private key parsing, and rsa command line supports -passin Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1819 | 5 天前 |
| Fix AKI serial and CRL number decoding Reuse ASN.1 integer validation and normalization. Add regression tests for padded serials and malformed integers Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1856 | 2 天前 |
| fix:reset feedback size to default on deinit Signed-off-by: dsy678 <dongshunyu1@huawei.com> Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1844 | 8 天前 |
| fix: send alert when regular TLS recv QUIC transport params Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1850 | 7 天前 |
| add .clang-format file # message auto-generated for no-merge-commit merge: merge main into main add .clang-format file Created-by: dumb Author-id: 822999 MR-id: 4358051 Commit-by: Liu-Ermeng Merged-by: tlhcd E2E-issues: Description: add .clang-format file See merge request: openHiTLS/openhitls!49 | 1 年前 |
| normalize: add .gitattributes and convert CRLF to LF across repo Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1667 | 1 个月前 |
| feat: build system improvements and cross-platform support (macOS) Major Features: - Multi-compiler/linker configuration system with toolchain support - Auto-manage Secure C (libboundscheck) dependency - Dynamic provider library names for CMVP modes (ISO19790, SM) - macOS/Darwin platform support with unified POSIX abstractions - Cross-platform build improvements and optimizations Build System: - Add toolchain management for cross-compilation - Support nested 'common' format in compile config - with _EXTRA/_REMOVE/_OVERRIDE in common flags, we can add remove by per compiler - Unify toolchain naming convention (arch-vendor-os-abi-compiler) Platform Support: - Unify Linux and Darwin sources under POSIX - Add Darwin support for SAL and build flags - Add Darwin support for REC wrapper functions (WIP) - Cross-platform ops count macros for benchmarking - Platform-specific library extension detection (.dylib vs .so) Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/652 | 10 个月前 |
| Remove libboundscheck (securec) dependency and harden sensitive data cleansing Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1086 | 4 个月前 |
| | 2 个月前 |
| docs: update CONTRIBUTING-zh.md - Changing the serial number. Signed-off-by: zhoutianli <2093795515@qq.com> Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1282 | 4 个月前 |
| openhitls repo init | 1 年前 |
| docs: update README for DTLS1.3 support Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1738 | 1 个月前 |
| docs: update README for DTLS1.3 support Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1738 | 1 个月前 |
| docs: add security-policy(SECURITY.md) Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1682 | 1 个月前 |
| docs: add security-policy(SECURITY.md) Cherry-picked from: https://gitcode.com/openHiTLS/openhitls/merge_requests/1682 | 1 个月前 |
| | 1 年前 |