pyvider 2025-01-28
Added mTLS compatibility testing infrastructure with test certificates across
43 files · 2,353+ · 378-

mTLS Compatibility Tests

26 files changed
  • ec-secp256r1-mtls-client.crt Added ec-secp256r1-mtls-client.crt (+12 lines)
  • ec-secp256r1-mtls-client.key Added ec-secp256r1-mtls-client.key (+5 lines)
  • ec-secp256r1-mtls-server.crt Added ec-secp256r1-mtls-server.crt (+12 lines)
  • ec-secp256r1-mtls-server.key Added ec-secp256r1-mtls-server.key (+5 lines)
  • ec-secp384r1-mtls-client.crt Added ec-secp384r1-mtls-client.crt (+13 lines)
  • ec-secp384r1-mtls-client.key Added ec-secp384r1-mtls-client.key (+6 lines)
  • ec-secp384r1-mtls-server.crt Added ec-secp384r1-mtls-server.crt (+13 lines)
  • ec-secp384r1-mtls-server.key Added ec-secp384r1-mtls-server.key (+6 lines)
  • ec-secp521r1-mtls-client.crt Added ec-secp521r1-mtls-client.crt (+15 lines)
  • ec-secp521r1-mtls-client.key Added ec-secp521r1-mtls-client.key (+7 lines)
  • ec-secp521r1-mtls-server.crt Added ec-secp521r1-mtls-server.crt (+15 lines)
  • ec-secp521r1-mtls-server.key Added ec-secp521r1-mtls-server.key (+7 lines)
  • rsa-2048-mtls-client.crt Added rsa-2048-mtls-client.crt (+20 lines)
  • rsa-2048-mtls-client.key Added rsa-2048-mtls-client.key (+27 lines)
  • rsa-2048-mtls-server.crt Added rsa-2048-mtls-server.crt (+20 lines)
  • rsa-2048-mtls-server.key Added rsa-2048-mtls-server.key (+27 lines)
  • rsa-4096-mtls-client.crt Added rsa-4096-mtls-client.crt (+31 lines)
  • rsa-4096-mtls-client.key Added rsa-4096-mtls-client.key (+51 lines)
  • rsa-4096-mtls-server.crt Added rsa-4096-mtls-server.crt (+31 lines)
  • rsa-4096-mtls-server.key Added rsa-4096-mtls-server.key (+51 lines)
  • create_test_certs.sh Removed create_test_certs.sh (-174 lines)
  • dummy_server.py Removed dummy_server.py (-36 lines)
  • mock_server.py Added mock_server.py (+63 lines)
  • test_certificates.py Added test_certificates.py (+253 lines)
  • test_mtls_compatibility.py Added test_mtls_compatibility.py (+74 lines)
  • env.sh Added env.sh (+1 lines)
  • Added tests/test_mtls_compatibility.py (74 lines) for testing mTLS handshakes across different certificate types qualify internal
    1 file
    • test_mtls_compatibility.py
  • Added tests/test_certificates.py (253 lines) for comprehensive certificate loading, validation, and chain verification tests qualify internal
    1 file
    • test_certificates.py
  • Added tests/mock_server.py (63 lines) as a test helper for standing up mock gRPC servers qualify internal
    1 file
    • mock_server.py

Test Certificates

17 files changed
  • client.py Added client.py (+1 lines)
  • config.py Updated config.py (+1/-1 lines)
  • cert-compatibility.md Added cert-compatibility.md (+175 lines)
  • cert-fixtures.md Added cert-fixtures.md (+192 lines)
  • diagnostic-report.md Added diagnostic-report.md (+291 lines)
  • test-analysis.md Added test-analysis.md (+224 lines)
  • test-strategy.md Added test-strategy.md (+174 lines)
  • research.md Added research.md (+7 lines)
  • env.sh Added env.sh (+152 lines)
  • env.sh Updated env.sh (+48/-49 lines)
  • main.go Removed main.go (-1 lines)
  • grpc Updated grpc (+0/-0 lines)
  • handshake.py Updated handshake.py (+76/-5 lines)
  • security.py Updated security.py (+10/-41 lines)
  • server.py Updated server.py (+29/-10 lines)
  • gen-certs.sh Updated gen-certs.sh (+7/-7 lines)
  • unix.py Updated unix.py (+201/-54 lines)
  • Generated certificate pairs for 5 algorithms: RSA-2048, RSA-4096, EC secp256r1, EC secp384r1, EC secp521r1 harden internal
    45 files
    • env.sh
    • .bfile
    • client.py
    • config.py
    • cert-compatibility.md
    • cert-fixtures.md
    • diagnostic-report.md
    • test-analysis.md
    • test-strategy.md
    • research.md
    • env.sh
    • env.sh
    • main.go
    • grpc
    • test_kv_integration.py
    • handshake.py
    • security.py
    • server.py
    • ec-secp256r1-mtls-client.crt
    • ec-secp256r1-mtls-client.key
    • ec-secp256r1-mtls-server.crt
    • ec-secp256r1-mtls-server.key
    • ec-secp384r1-mtls-client.crt
    • ec-secp384r1-mtls-client.key
    • ec-secp384r1-mtls-server.crt
    • ec-secp384r1-mtls-server.key
    • ec-secp521r1-mtls-client.crt
    • ec-secp521r1-mtls-client.key
    • ec-secp521r1-mtls-server.crt
    • ec-secp521r1-mtls-server.key
    • rsa-2048-mtls-client.crt
    • rsa-2048-mtls-client.key
    • rsa-2048-mtls-server.crt
    • rsa-2048-mtls-server.key
    • rsa-4096-mtls-client.crt
    • rsa-4096-mtls-client.key
    • rsa-4096-mtls-server.crt
    • rsa-4096-mtls-server.key
    • create_test_certs.sh
    • dummy_server.py
    • mock_server.py
    • test_certificates.py
    • test_mtls_compatibility.py
    • gen-certs.sh
    • unix.py
  • Each algorithm has server and client cert/key pairs stored in src/pyvider/rpcplugin/certs/ decouple internal
    1 file
    • certs

Certificate Generation Tool

42 files changed
  • client.py Updated client.py
  • config.py Updated config.py
  • cert-compatibility.md Updated cert-compatibility.md
  • cert-fixtures.md Updated cert-fixtures.md
  • diagnostic-report.md Updated diagnostic-report.md
  • test-analysis.md Updated test-analysis.md
  • test-strategy.md Updated test-strategy.md
  • research.md Updated research.md
  • env.sh Updated env.sh
  • env.sh Updated env.sh
  • main.go Updated main.go
  • grpc Updated grpc
  • handshake.py Updated handshake.py
  • security.py Updated security.py
  • server.py Updated server.py
  • ec-secp256r1-mtls-client.crt Updated ec-secp256r1-mtls-client.crt
  • ec-secp256r1-mtls-client.key Updated ec-secp256r1-mtls-client.key
  • ec-secp256r1-mtls-server.crt Updated ec-secp256r1-mtls-server.crt
  • ec-secp256r1-mtls-server.key Updated ec-secp256r1-mtls-server.key
  • ec-secp384r1-mtls-client.crt Updated ec-secp384r1-mtls-client.crt
  • ec-secp384r1-mtls-client.key Updated ec-secp384r1-mtls-client.key
  • ec-secp384r1-mtls-server.crt Updated ec-secp384r1-mtls-server.crt
  • ec-secp384r1-mtls-server.key Updated ec-secp384r1-mtls-server.key
  • ec-secp521r1-mtls-client.crt Updated ec-secp521r1-mtls-client.crt
  • ec-secp521r1-mtls-client.key Updated ec-secp521r1-mtls-client.key
  • ec-secp521r1-mtls-server.crt Updated ec-secp521r1-mtls-server.crt
  • ec-secp521r1-mtls-server.key Updated ec-secp521r1-mtls-server.key
  • rsa-2048-mtls-client.crt Updated rsa-2048-mtls-client.crt
  • rsa-2048-mtls-client.key Updated rsa-2048-mtls-client.key
  • rsa-2048-mtls-server.crt Updated rsa-2048-mtls-server.crt
  • rsa-2048-mtls-server.key Updated rsa-2048-mtls-server.key
  • rsa-4096-mtls-client.crt Updated rsa-4096-mtls-client.crt
  • rsa-4096-mtls-client.key Updated rsa-4096-mtls-client.key
  • rsa-4096-mtls-server.crt Updated rsa-4096-mtls-server.crt
  • rsa-4096-mtls-server.key Updated rsa-4096-mtls-server.key
  • create_test_certs.sh Updated create_test_certs.sh
  • dummy_server.py Updated dummy_server.py
  • mock_server.py Updated mock_server.py
  • test_certificates.py Updated test_certificates.py
  • test_mtls_compatibility.py Updated test_mtls_compatibility.py
  • gen-certs.sh Updated gen-certs.sh
  • unix.py Updated unix.py
  • Moved gen-certs.sh from src/pyvider/rpcplugin/ to src/pyvider/rpcplugin/tools/gen-certs.sh decouple internal
    42 files
    • client.py
    • config.py
    • cert-compatibility.md
    • cert-fixtures.md
    • diagnostic-report.md
    • test-analysis.md
    • test-strategy.md
    • research.md
    • env.sh
    • env.sh
    • main.go
    • grpc
    • handshake.py
    • security.py
    • server.py
    • ec-secp256r1-mtls-client.crt
    • ec-secp256r1-mtls-client.key
    • ec-secp256r1-mtls-server.crt
    • ec-secp256r1-mtls-server.key
    • ec-secp384r1-mtls-client.crt
    • ec-secp384r1-mtls-client.key
    • ec-secp384r1-mtls-server.crt
    • ec-secp384r1-mtls-server.key
    • ec-secp521r1-mtls-client.crt
    • ec-secp521r1-mtls-client.key
    • ec-secp521r1-mtls-server.crt
    • ec-secp521r1-mtls-server.key
    • rsa-2048-mtls-client.crt
    • rsa-2048-mtls-client.key
    • rsa-2048-mtls-server.crt
    • rsa-2048-mtls-server.key
    • rsa-4096-mtls-client.crt
    • rsa-4096-mtls-client.key
    • rsa-4096-mtls-server.crt
    • rsa-4096-mtls-server.key
    • create_test_certs.sh
    • dummy_server.py
    • mock_server.py
    • test_certificates.py
    • test_mtls_compatibility.py
    • gen-certs.sh
    • unix.py
  • Iterated on ECDSA curve configuration and certificate naming harden internal
    1 file
    • .bfile

Dead Code Removal

5 files changed
  • handshake.py Updated handshake.py
  • security.py Updated security.py
  • server.py Updated server.py
  • dummy_server.py Updated dummy_server.py
  • mock_server.py Updated mock_server.py
  • Removed X_build_handshake_response dead code from handshake.py (57 lines) deprecate internal
    1 file
    • handshake.py
  • Removed X_generate_plugin_certificate dead code from security.py (39 lines) deprecate internal
    1 file
    • security.py
  • Removed X_setup_server dead code from server.py (35 lines) deprecate internal
    3 files
    • server.py
    • dummy_server.py
    • mock_server.py
  • Reverted config PLUGIN_SERVER_CERT_REAL back to PLUGIN_SERVER_CERT baseline internal
    1 file
    • test_kv_integration.py