Commit 29b9b3bb authored by jan.koester's avatar jan.koester
Browse files

test

parent 66835aa5
Loading
Loading
Loading
Loading
+17 −2
Original line number Diff line number Diff line
@@ -2832,9 +2832,24 @@ void netplus::ssl::_queueClientHello(){
    auto add_key_share_p256 = [&](){
        _client_offered_tls13 = true;

        // generate ephemeral priv scalar (32 bytes big-endian)
        // generate valid ephemeral priv scalar: 0 < k < n
        for (;;) {
            fillRandomBytes(_client_priv_ecdhe, 32);

            // check not all zeros
            bool allZero = true;
            for (int i = 0; i < 32; i++) {
                if (_client_priv_ecdhe[i]) { allZero = false; break; }
            }
            if (allZero) continue;

            // check k < n (P-256 curve order)
            u256 k = bytes_be_to_u256(_client_priv_ecdhe);
            if (u256_cmp(k, P256_N) >= 0) continue;

            break; // valid scalar
        }

        // compute pub = priv * G
        netplus::P256Point pub = netplus::scalar_mul_G(_client_priv_ecdhe);