Ce document présente le plan exhaustif des tests d’acceptance. Ces tests valident les workflows complets via la CLI (boîte noire).
Métrique Valeur Suites de tests 8 Tests total 133 Priorité P1 (bloquants) 110 Priorité P2 23 Fichiers test/acceptance/*.goBuild tag //go:build acceptance
# Tous les tests d'acceptance
go test -tags=acceptance ./test/acceptance/... -run TestA_CMS
go test -tags=acceptance ./test/acceptance/... -run TestA_CMS_Sign_EC -v
Fonctionnalité EC RSA ML-DSA SLH-DSA Catalyst Composite CA Init TC-A-CA-001 TC-A-CA-002 TC-A-CA-003 TC-A-CA-004 TC-A-CA-005 TC-A-CA-006 Key Gen TC-A-KEY-001 TC-A-KEY-002 TC-A-KEY-003 TC-A-KEY-004 - - CSR TC-A-CSR-001 TC-A-CSR-002 - - - - Credential TC-A-CRED-001 TC-A-CRED-002 TC-A-CRED-003 TC-A-CRED-004 TC-A-CRED-005 TC-A-CRED-006 CMS Sign TC-A-CMS-001 TC-A-CMS-002 TC-A-CMS-003 TC-A-CMS-004 TC-A-CMS-005 TC-A-CMS-006 CMS Encrypt TC-A-CMS-008 TC-A-CMS-007 TC-A-CMS-009 - - TC-A-CMS-010 TSA TC-A-TSA-001 TC-A-TSA-002 TC-A-TSA-003 TC-A-TSA-004 TC-A-TSA-005 TC-A-TSA-006 OCSP TC-A-OCSP-001 - TC-A-OCSP-002 TC-A-OCSP-003 TC-A-OCSP-004 TC-A-OCSP-005 COSE Sign1 TC-A-COSE-001 TC-A-COSE-002 TC-A-COSE-004 TC-A-COSE-006 TC-A-COSE-008 SKIP COSE CWT TC-A-COSE-003 - TC-A-COSE-005 TC-A-COSE-007 TC-A-COSE-010 SKIP E2E Workflow TC-A-E2E-001 - TC-A-E2E-002 - TC-A-E2E-003 TC-A-E2E-004
46 tests - Workflows PKI fondamentaux
TC-ID Nom Priorité Description TC-A-KEY-001 TestA_Key_Gen_EC_AlgorithmsP1 Génère clés EC (P-256, P-384, P-521) TC-A-KEY-002 TestA_Key_Gen_RSA_AlgorithmsP1 Génère clés RSA (2048, 3072, 4096) TC-A-KEY-003 TestA_Key_Gen_MLDSA_AlgorithmsP1 Génère clés ML-DSA (44, 65, 87) TC-A-KEY-004 TestA_Key_Gen_SLHDSA_AlgorithmsP1 Génère clés SLH-DSA (128f, 192f, 256f) TC-A-KEY-005 TestA_Key_InfoP2 Affiche info clé TC-A-KEY-006 TestA_Key_ListP2 Liste les clés
TC-ID Nom Priorité Description TC-A-CA-001 TestA_CA_Init_ECP1 CA racine ECDSA TC-A-CA-002 TestA_CA_Init_RSAP1 CA racine RSA TC-A-CA-003 TestA_CA_Init_MLDSAP1 CA racine ML-DSA TC-A-CA-004 TestA_CA_Init_SLHDSAP1 CA racine SLH-DSA TC-A-CA-005 TestA_CA_Init_CatalystP1 CA hybride Catalyst (EC + ML-DSA) TC-A-CA-006 TestA_CA_Init_CompositeP1 CA hybride Composite TC-A-CA-007 TestA_CA_Init_SubordinateP1 CA subordonnée TC-A-CA-008 TestA_CA_InfoP2 Affiche info CA
TC-ID Nom Priorité Description TC-A-CSR-001 TestA_CSR_Gen_ECP1 CSR ECDSA TC-A-CSR-002 TestA_CSR_Gen_RSAP1 CSR RSA TC-A-CSR-003 TestA_CSR_Gen_MLKEM_WithAttestationP1 CSR ML-KEM avec PoP (RFC 9883)
TC-ID Nom Priorité Description TC-A-CERT-001 TestA_Cert_Issue_EC_FromCSRP1 Émet certificat EC depuis CSR TC-A-CERT-002 TestA_Cert_Issue_RSA_FromCSRP1 Émet certificat RSA depuis CSR TC-A-CERT-003 TestA_Cert_VerifyP1 Vérifie chaîne de certificats TC-A-CERT-004 TestA_Cert_ListP2 Liste certificats émis TC-A-CERT-005 TestA_Cert_InspectP2 Inspecte certificat
TC-ID Nom Priorité Description TC-A-CRED-001 TestA_Credential_Enroll_EC_ProfilesP1 Enrollment profils EC (tls-server, tls-client, signing, etc.) TC-A-CRED-002 TestA_Credential_Enroll_RSA_ProfilesP1 Enrollment profils RSA TC-A-CRED-003 TestA_Credential_Enroll_MLDSA_ProfilesP1 Enrollment profils ML-DSA TC-A-CRED-004 TestA_Credential_Enroll_SLHDSA_ProfilesP1 Enrollment profils SLH-DSA TC-A-CRED-005 TestA_Credential_Enroll_Catalyst_ProfilesP1 Enrollment profils Catalyst TC-A-CRED-006 TestA_Credential_Enroll_Composite_ProfilesP1 Enrollment profils Composite
TC-ID Nom Priorité Description TC-A-CRL-001 TestA_CRL_GenerateP1 Génère CRL TC-A-CRL-002 TestA_CRL_Revoke_And_GenerateP1 Révoque certificat et génère CRL TC-A-CRL-003 TestA_CRL_PQC_AlgorithmsP1 CRL avec algorithmes PQC
TC-ID Nom Priorité Description TC-A-PROFILE-001 TestA_Profile_ListP2 Liste profils disponibles TC-A-PROFILE-002 TestA_Profile_ShowP2 Affiche contenu profil
TC-ID Nom Priorité Description TC-A-INSPECT-001 TestA_Inspect_CertificateP2 Inspecte certificat (détails X.509) TC-A-INSPECT-002 TestA_Inspect_PQC_CertificateP1 Inspecte certificat PQC TC-A-INSPECT-003 TestA_Inspect_CRLP2 Inspecte CRL TC-A-INSPECT-004 TestA_Inspect_CSRP2 Inspecte CSR
TC-ID Nom Priorité Description TC-A-E2E-001 TestA_E2E_EC_WorkflowP1 Workflow complet EC : CA → Cert → CRL → Verify TC-A-E2E-002 TestA_E2E_MLDSA_WorkflowP1 Workflow complet ML-DSA TC-A-E2E-003 TestA_E2E_Catalyst_WorkflowP1 Workflow complet Catalyst TC-A-E2E-004 TestA_E2E_Composite_WorkflowP1 Workflow complet Composite TC-A-E2E-005 TestA_E2E_SubordinateCA_ChainP1 Chaîne Root CA → Sub CA → Cert
TC-ID Nom Priorité Description TC-A-CLI-001 TestA_CLI_HelpP2 qpki --helpTC-A-CLI-002 TestA_CLI_VersionP2 qpki --version
17 tests - Transitions et rotations d’algorithmes
TC-ID Nom Priorité Description TC-A-AGILITY-001 TestA_Agility_EC_Catalyst_PQP1 EC → Catalyst → ML-DSA TC-A-AGILITY-002 TestA_Agility_EC_Composite_PQP1 EC → Composite → ML-DSA TC-A-AGILITY-003 TestA_Agility_RSA_EC_PQP1 RSA → EC → ML-DSA TC-A-AGILITY-004 TestA_Agility_EC_PQ_DirectP1 EC → ML-DSA (direct) TC-A-AGILITY-005 TestA_Agility_Catalyst_PQP1 Catalyst → ML-DSA TC-A-AGILITY-006 TestA_Agility_Composite_PQP1 Composite → ML-DSA TC-A-AGILITY-007 TestA_Agility_EC_SLHDSAP1 EC → SLH-DSA TC-A-AGILITY-008 TestA_Agility_Full_PKI_TransitionP1 Transition complète PKI
TC-ID Nom Priorité Description TC-A-AGILITY-009 TestA_Agility_Rotate_EC_Catalyst_MLDSAP1 Rotation EC → Catalyst → ML-DSA TC-A-AGILITY-010 TestA_Agility_Rotate_EC_Composite_MLDSAP1 Rotation EC → Composite → ML-DSA TC-A-AGILITY-011 TestA_Agility_Rotate_RSA_EC_MLDSAP1 Rotation RSA → EC → ML-DSA TC-A-AGILITY-012 TestA_Agility_Rotate_EC_MLDSA_DirectP1 Rotation EC → ML-DSA (direct) TC-A-AGILITY-013 TestA_Agility_Rotate_Catalyst_MLDSAP1 Rotation Catalyst → ML-DSA TC-A-AGILITY-014 TestA_Agility_Rotate_Composite_MLDSAP1 Rotation Composite → ML-DSA TC-A-AGILITY-015 TestA_Agility_Rotate_CA_VersionsP1 Gestion versions CA TC-A-AGILITY-016 TestA_Agility_Rotate_Credential_VersionsP1 Gestion versions credential TC-A-AGILITY-017 TestA_Agility_Rotate_CA_InfoP1 Info CA après rotation
11 tests - Signatures et chiffrement CMS
TC-ID Nom Priorité Algorithme TC-A-CMS-001 TestA_CMS_Sign_ECP1 ECDSA TC-A-CMS-002 TestA_CMS_Sign_RSAP1 RSA TC-A-CMS-003 TestA_CMS_Sign_MLDSAP1 ML-DSA TC-A-CMS-004 TestA_CMS_Sign_SLHDSAP1 SLH-DSA TC-A-CMS-005 TestA_CMS_Sign_CatalystP1 Catalyst TC-A-CMS-006 TestA_CMS_Sign_CompositeP1 Composite
TC-ID Nom Priorité Mécanisme TC-A-CMS-007 TestA_CMS_Encrypt_RSAP1 RSA-OAEP TC-A-CMS-008 TestA_CMS_Encrypt_ECP1 ECDH TC-A-CMS-009 TestA_CMS_Encrypt_MLKEMP1 ML-KEM TC-A-CMS-010 TestA_CMS_Encrypt_HybridP1 Hybrid (ECDH + ML-KEM) TC-A-CMS-011 TestA_CMS_Verify_InvalidDataP2 Erreur sur données invalides
13 tests - Intégration HSM via PKCS#11
Prérequis : SoftHSM2 installé et token initialisé
TC-ID Nom Priorité Description TC-A-HSM-001 TestA_HSM_List_TokensP1 Liste tokens disponibles TC-A-HSM-002 TestA_HSM_Test_ConnectionP1 Test connexion HSM TC-A-HSM-003 TestA_HSM_InfoP2 Info token
TC-ID Nom Priorité Description TC-A-HSM-004 TestA_HSM_Key_Gen_ECP1 Génère clé EC dans HSM TC-A-HSM-005 TestA_HSM_Key_Gen_RSAP1 Génère clé RSA dans HSM TC-A-HSM-006 TestA_HSM_Key_ListP2 Liste clés dans HSM
TC-ID Nom Priorité Description TC-A-HSM-007 TestA_HSM_CA_Init_WithExistingKeyP1 Init CA avec clé existante TC-A-HSM-008 TestA_HSM_CA_Init_GenerateKeyP1 Init CA avec génération clé TC-A-HSM-009 TestA_HSM_CA_Init_RSAP1 Init CA RSA dans HSM TC-A-HSM-010 TestA_HSM_CA_InfoP2 Info CA HSM
TC-ID Nom Priorité Description TC-A-HSM-011 TestA_HSM_Credential_Enroll_SoftwareKeyP1 CA HSM, clé logicielle TC-A-HSM-012 TestA_HSM_Credential_Enroll_HSMKeyP1 CA HSM, clé HSM TC-A-HSM-013 TestA_HSM_Credential_ListP2 Liste credentials HSM
8 tests - Horodatage RFC 3161
TC-ID Nom Priorité Algorithme TC-A-TSA-001 TestA_TSA_Sign_ECP1 ECDSA TC-A-TSA-002 TestA_TSA_Sign_RSAP1 RSA TC-A-TSA-003 TestA_TSA_Sign_MLDSAP1 ML-DSA TC-A-TSA-004 TestA_TSA_Sign_SLHDSAP1 SLH-DSA TC-A-TSA-005 TestA_TSA_Sign_CatalystP1 Catalyst TC-A-TSA-006 TestA_TSA_Sign_CompositeP1 Composite TC-A-TSA-007 TestA_TSA_Verify_InvalidDataP2 Erreur sur données invalides TC-A-TSA-008 TestA_TSA_InfoP2 Info timestamp
7 tests - Statut certificat RFC 6960
TC-ID Nom Priorité Algorithme TC-A-OCSP-001 TestA_OCSP_Sign_ECP1 ECDSA TC-A-OCSP-002 TestA_OCSP_Sign_MLDSAP1 ML-DSA TC-A-OCSP-003 TestA_OCSP_Sign_SLHDSAP1 SLH-DSA TC-A-OCSP-004 TestA_OCSP_Sign_CatalystP1 Catalyst TC-A-OCSP-005 TestA_OCSP_Sign_CompositeP1 Composite TC-A-OCSP-006 TestA_OCSP_Status_RevokedP1 Statut révoqué TC-A-OCSP-007 TestA_OCSP_ServerP1 Serveur OCSP HTTP
28 tests - Signatures COSE/CWT (RFC 9052/8392)
Note : Les tests Composite sont SKIP car COSE ne supporte pas les algorithmes composites directement. Utiliser le mode Catalyst (2 signatures séparées) pour l’hybride.
TC-ID Nom Priorité Algorithme TC-A-COSE-001 TestA_COSE_Sign1_ECP1 ECDSA TC-A-COSE-002 TestA_COSE_Sign1_RSAP1 RSA-PSS TC-A-COSE-003 TestA_COSE_CWT_ECP1 CWT ECDSA
TC-ID Nom Priorité Algorithme TC-A-COSE-004 TestA_COSE_Sign1_MLDSAP1 ML-DSA-65 TC-A-COSE-005 TestA_COSE_CWT_MLDSAP1 CWT ML-DSA-65
TC-ID Nom Priorité Algorithme TC-A-COSE-006 TestA_COSE_Sign1_SLHDSAP1 SLH-DSA-SHA2-128f TC-A-COSE-007 TestA_COSE_CWT_SLHDSAP1 CWT SLH-DSA-SHA2-128f
TC-ID Nom Priorité Mode TC-A-COSE-008 TestA_COSE_Sign_CatalystP1 Catalyst (2 signatures) TC-A-COSE-009 TestA_COSE_Sign_CompositeSKIP Composite (non supporté) TC-A-COSE-010 TestA_COSE_CWT_CatalystP1 CWT Catalyst TC-A-COSE-011 TestA_COSE_CWT_CompositeSKIP CWT Composite (non supporté)
TC-ID Nom Priorité Description TC-A-COSE-012 TestA_COSE_HSM_Sign1_ECP1 Sign1 EC via HSM TC-A-COSE-013 TestA_COSE_HSM_Sign1_MLDSAP1 Sign1 ML-DSA via HSM (UTIMACO) TC-A-COSE-014 TestA_COSE_HSM_HybridP1 Hybride via HSM (UTIMACO)
TC-ID Nom Priorité Description TC-A-COSE-015 TestA_COSE_Verify_OKP1 Vérification valide TC-A-COSE-016 TestA_COSE_Verify_EmbeddedPayloadP1 Vérification payload embarqué TC-A-COSE-017 TestA_COSE_Verify_CertChainP1 Vérification chaîne CA TC-A-COSE-018 TestA_COSE_Verify_InvalidSignatureP1 Signature invalide rejetée TC-A-COSE-019 TestA_COSE_CWT_ExpirationP1 Validation expiration TC-A-COSE-020 TestA_COSE_Verify_WrongCAP2 Mauvais CA rejeté TC-A-COSE-021 TestA_COSE_Sign_MissingKeyP2 Erreur clé manquante
TC-ID Nom Priorité Description TC-A-COSE-022 TestA_COSE_Info_Sign1P2 Info Sign1 TC-A-COSE-023 TestA_COSE_Info_CWTP2 Info CWT TC-A-COSE-024 TestA_COSE_Info_HybridP2 Info hybride
TC-ID Nom Priorité Description TC-A-COSE-025 TestA_COSE_Agility_EC_To_MLDSAP1 Rotation EC -> ML-DSA TC-A-COSE-026 TestA_COSE_Agility_EC_Catalyst_PQP1 PKIs parallèles TC-A-COSE-027 TestA_COSE_Agility_VerifyOldTokenAfterRotationP1 Anciens CWT valides TC-A-COSE-028 TestA_COSE_Agility_HybridTransitionP1 Transition hybride TC-A-COSE-029 TestA_COSE_Agility_MultipleIssuersP2 Multi-émetteurs
- uses : actions/checkout@v4
- name : Run acceptance tests
run : make test-acceptance
Job CI Tests Durée pki-testTC-A-PKI-* ~10 min cms-testTC-A-CMS-* ~5 min tsa-testTC-A-TSA-* ~3 min ocsp-testTC-A-OCSP-* ~3 min cose-testTC-A-COSE-* ~5 min hsm-testTC-A-HSM-* ~5 min cryptoagility-testTC-A-AGILITY-* ~8 min