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.crtAdded ec-secp256r1-mtls-client.crt (+12 lines)ec-secp256r1-mtls-client.keyAdded ec-secp256r1-mtls-client.key (+5 lines)ec-secp256r1-mtls-server.crtAdded ec-secp256r1-mtls-server.crt (+12 lines)ec-secp256r1-mtls-server.keyAdded ec-secp256r1-mtls-server.key (+5 lines)ec-secp384r1-mtls-client.crtAdded ec-secp384r1-mtls-client.crt (+13 lines)ec-secp384r1-mtls-client.keyAdded ec-secp384r1-mtls-client.key (+6 lines)ec-secp384r1-mtls-server.crtAdded ec-secp384r1-mtls-server.crt (+13 lines)ec-secp384r1-mtls-server.keyAdded ec-secp384r1-mtls-server.key (+6 lines)ec-secp521r1-mtls-client.crtAdded ec-secp521r1-mtls-client.crt (+15 lines)ec-secp521r1-mtls-client.keyAdded ec-secp521r1-mtls-client.key (+7 lines)ec-secp521r1-mtls-server.crtAdded ec-secp521r1-mtls-server.crt (+15 lines)ec-secp521r1-mtls-server.keyAdded ec-secp521r1-mtls-server.key (+7 lines)rsa-2048-mtls-client.crtAdded rsa-2048-mtls-client.crt (+20 lines)rsa-2048-mtls-client.keyAdded rsa-2048-mtls-client.key (+27 lines)rsa-2048-mtls-server.crtAdded rsa-2048-mtls-server.crt (+20 lines)rsa-2048-mtls-server.keyAdded rsa-2048-mtls-server.key (+27 lines)rsa-4096-mtls-client.crtAdded rsa-4096-mtls-client.crt (+31 lines)rsa-4096-mtls-client.keyAdded rsa-4096-mtls-client.key (+51 lines)rsa-4096-mtls-server.crtAdded rsa-4096-mtls-server.crt (+31 lines)rsa-4096-mtls-server.keyAdded rsa-4096-mtls-server.key (+51 lines)create_test_certs.shRemoved create_test_certs.sh (-174 lines)dummy_server.pyRemoved dummy_server.py (-36 lines)mock_server.pyAdded mock_server.py (+63 lines)test_certificates.pyAdded test_certificates.py (+253 lines)test_mtls_compatibility.pyAdded test_mtls_compatibility.py (+74 lines)env.shAdded env.sh (+1 lines)
- Added
tests/test_mtls_compatibility.py(74 lines) for testing mTLS handshakes across different certificate types qualify internal1 file
test_mtls_compatibility.py
- Added
tests/test_certificates.py(253 lines) for comprehensive certificate loading, validation, and chain verification tests qualify internal1 file
test_certificates.py
- Added
tests/mock_server.py(63 lines) as a test helper for standing up mock gRPC servers qualify internal1 file
mock_server.py
Test Certificates
17 files changed
client.pyAdded client.py (+1 lines)config.pyUpdated config.py (+1/-1 lines)cert-compatibility.mdAdded cert-compatibility.md (+175 lines)cert-fixtures.mdAdded cert-fixtures.md (+192 lines)diagnostic-report.mdAdded diagnostic-report.md (+291 lines)test-analysis.mdAdded test-analysis.md (+224 lines)test-strategy.mdAdded test-strategy.md (+174 lines)research.mdAdded research.md (+7 lines)env.shAdded env.sh (+152 lines)env.shUpdated env.sh (+48/-49 lines)main.goRemoved main.go (-1 lines)grpcUpdated grpc (+0/-0 lines)handshake.pyUpdated handshake.py (+76/-5 lines)security.pyUpdated security.py (+10/-41 lines)server.pyUpdated server.py (+29/-10 lines)gen-certs.shUpdated gen-certs.sh (+7/-7 lines)unix.pyUpdated 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.bfileclient.pyconfig.pycert-compatibility.mdcert-fixtures.mddiagnostic-report.mdtest-analysis.mdtest-strategy.mdresearch.mdenv.shenv.shmain.gogrpctest_kv_integration.pyhandshake.pysecurity.pyserver.pyec-secp256r1-mtls-client.crtec-secp256r1-mtls-client.keyec-secp256r1-mtls-server.crtec-secp256r1-mtls-server.keyec-secp384r1-mtls-client.crtec-secp384r1-mtls-client.keyec-secp384r1-mtls-server.crtec-secp384r1-mtls-server.keyec-secp521r1-mtls-client.crtec-secp521r1-mtls-client.keyec-secp521r1-mtls-server.crtec-secp521r1-mtls-server.keyrsa-2048-mtls-client.crtrsa-2048-mtls-client.keyrsa-2048-mtls-server.crtrsa-2048-mtls-server.keyrsa-4096-mtls-client.crtrsa-4096-mtls-client.keyrsa-4096-mtls-server.crtrsa-4096-mtls-server.keycreate_test_certs.shdummy_server.pymock_server.pytest_certificates.pytest_mtls_compatibility.pygen-certs.shunix.py
- Each algorithm has server and client cert/key pairs stored in
src/pyvider/rpcplugin/certs/decouple internal1 file
certs
Certificate Generation Tool
42 files changed
client.pyUpdated client.pyconfig.pyUpdated config.pycert-compatibility.mdUpdated cert-compatibility.mdcert-fixtures.mdUpdated cert-fixtures.mddiagnostic-report.mdUpdated diagnostic-report.mdtest-analysis.mdUpdated test-analysis.mdtest-strategy.mdUpdated test-strategy.mdresearch.mdUpdated research.mdenv.shUpdated env.shenv.shUpdated env.shmain.goUpdated main.gogrpcUpdated grpchandshake.pyUpdated handshake.pysecurity.pyUpdated security.pyserver.pyUpdated server.pyec-secp256r1-mtls-client.crtUpdated ec-secp256r1-mtls-client.crtec-secp256r1-mtls-client.keyUpdated ec-secp256r1-mtls-client.keyec-secp256r1-mtls-server.crtUpdated ec-secp256r1-mtls-server.crtec-secp256r1-mtls-server.keyUpdated ec-secp256r1-mtls-server.keyec-secp384r1-mtls-client.crtUpdated ec-secp384r1-mtls-client.crtec-secp384r1-mtls-client.keyUpdated ec-secp384r1-mtls-client.keyec-secp384r1-mtls-server.crtUpdated ec-secp384r1-mtls-server.crtec-secp384r1-mtls-server.keyUpdated ec-secp384r1-mtls-server.keyec-secp521r1-mtls-client.crtUpdated ec-secp521r1-mtls-client.crtec-secp521r1-mtls-client.keyUpdated ec-secp521r1-mtls-client.keyec-secp521r1-mtls-server.crtUpdated ec-secp521r1-mtls-server.crtec-secp521r1-mtls-server.keyUpdated ec-secp521r1-mtls-server.keyrsa-2048-mtls-client.crtUpdated rsa-2048-mtls-client.crtrsa-2048-mtls-client.keyUpdated rsa-2048-mtls-client.keyrsa-2048-mtls-server.crtUpdated rsa-2048-mtls-server.crtrsa-2048-mtls-server.keyUpdated rsa-2048-mtls-server.keyrsa-4096-mtls-client.crtUpdated rsa-4096-mtls-client.crtrsa-4096-mtls-client.keyUpdated rsa-4096-mtls-client.keyrsa-4096-mtls-server.crtUpdated rsa-4096-mtls-server.crtrsa-4096-mtls-server.keyUpdated rsa-4096-mtls-server.keycreate_test_certs.shUpdated create_test_certs.shdummy_server.pyUpdated dummy_server.pymock_server.pyUpdated mock_server.pytest_certificates.pyUpdated test_certificates.pytest_mtls_compatibility.pyUpdated test_mtls_compatibility.pygen-certs.shUpdated gen-certs.shunix.pyUpdated unix.py
- Moved
gen-certs.shfromsrc/pyvider/rpcplugin/tosrc/pyvider/rpcplugin/tools/gen-certs.shdecouple internal42 files
client.pyconfig.pycert-compatibility.mdcert-fixtures.mddiagnostic-report.mdtest-analysis.mdtest-strategy.mdresearch.mdenv.shenv.shmain.gogrpchandshake.pysecurity.pyserver.pyec-secp256r1-mtls-client.crtec-secp256r1-mtls-client.keyec-secp256r1-mtls-server.crtec-secp256r1-mtls-server.keyec-secp384r1-mtls-client.crtec-secp384r1-mtls-client.keyec-secp384r1-mtls-server.crtec-secp384r1-mtls-server.keyec-secp521r1-mtls-client.crtec-secp521r1-mtls-client.keyec-secp521r1-mtls-server.crtec-secp521r1-mtls-server.keyrsa-2048-mtls-client.crtrsa-2048-mtls-client.keyrsa-2048-mtls-server.crtrsa-2048-mtls-server.keyrsa-4096-mtls-client.crtrsa-4096-mtls-client.keyrsa-4096-mtls-server.crtrsa-4096-mtls-server.keycreate_test_certs.shdummy_server.pymock_server.pytest_certificates.pytest_mtls_compatibility.pygen-certs.shunix.py
- Iterated on ECDSA curve configuration and certificate naming
harden
internal
1 file
.bfile
Dead Code Removal
5 files changed
handshake.pyUpdated handshake.pysecurity.pyUpdated security.pyserver.pyUpdated server.pydummy_server.pyUpdated dummy_server.pymock_server.pyUpdated mock_server.py
- Removed
X_build_handshake_responsedead code fromhandshake.py(57 lines) deprecate internal1 file
handshake.py
- Removed
X_generate_plugin_certificatedead code fromsecurity.py(39 lines) deprecate internal1 file
security.py
- Removed
X_setup_serverdead code fromserver.py(35 lines) deprecate internal3 files
server.pydummy_server.pymock_server.py
- Reverted config
PLUGIN_SERVER_CERT_REALback toPLUGIN_SERVER_CERTbaseline internal1 file
test_kv_integration.py