diff --git a/.github/workflows/check-sections.yml b/.github/workflows/check-sections.yml new file mode 100644 index 0000000..7634dc2 --- /dev/null +++ b/.github/workflows/check-sections.yml @@ -0,0 +1,42 @@ +name: Check Sections + +on: [push, pull_request] + +jobs: + check-sections: + strategy: + matrix: + document: + - 'entrust' + include: + - source: 'rfc3647' + - document: 'entrust' + source: 'tlsbr' + + name: Check sections of ${{ matrix.document }} against ${{ matrix.source }} + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.x' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Check sections + run: | + python tools/check-sections.py ${{ matrix.document }}.md ${{ matrix.source }} > output.txt + + - name: Compare sections + run: | + if ! diff -u tests/expected/${{ matrix.document }}-${{ matrix.source }}-sections.txt output.txt; then + echo "Sections have changed, please verify the diff above and fix or commit changes" + exit 1 + fi diff --git a/tests/expected/entrust-rfc3647-sections.txt b/tests/expected/entrust-rfc3647-sections.txt new file mode 100644 index 0000000..89430be --- /dev/null +++ b/tests/expected/entrust-rfc3647-sections.txt @@ -0,0 +1,273 @@ + +RFC3647 + +- Section 1 (INTRODUCTION) not found in the document +- Section 1.1 (Overview) not found in the document +- Section 1.2 (Document name and identification) not found in the document +- Section 1.3 (PKI participants) not found in the document +- Section 1.3.1 (Certification authorities) not found in the document +- Section 1.3.2 (Registration authorities) not found in the document +- Section 1.3.3 (Subscribers) not found in the document +- Section 1.3.4 (Relying parties) not found in the document +- Section 1.3.5 (Other participants) not found in the document +- Section 1.4 (Certificate usage) not found in the document +- Section 1.4.1 (Appropriate certificate uses) not found in the document +- Section 1.4.2 (Prohibited certificate uses) not found in the document +- Section 1.5 (Policy administration) not found in the document +- Section 1.5.1 (Organization administering the document) not found in the document +- Section 1.5.2 (Contact person) not found in the document +- Section 1.5.3 (Person determining CPS suitability for the policy) not found in the document +- Section 1.5.4 (CPS approval procedures) not found in the document +- Section 1.6 (Definitions and acronyms) not found in the document +- Section 2 (PUBLICATION AND REPOSITORY RESPONSIBILITIES) not found in the document +- Section 2.1 (Repositories) not found in the document +- Section 2.2 (Publication of certification information) not found in the document +- Section 2.3 (Time or frequency of publication) not found in the document +- Section 2.4 (Access controls on repositories) not found in the document +- Section 3 (IDENTIFICATION AND AUTHENTICATION) not found in the document +- Section 3.1 (Naming) not found in the document +- Section 3.1.1 (Types of names) not found in the document +- Section 3.1.2 (Need for names to be meaningful) not found in the document +- Section 3.1.3 (Anonymity or pseudonymity of subscribers) not found in the document +- Section 3.1.4 (Rules for interpreting various name forms) not found in the document +- Section 3.1.5 (Uniqueness of names) not found in the document +- Section 3.1.6 (Recognition, authentication, and role of trademarks) not found in the document +- Section 3.2 (Initial identity validation) not found in the document +- Section 3.2.1 (Method to prove possession of private key) not found in the document +- Section 3.2.2 (Authentication of organization identity) not found in the document +- Section 3.2.3 (Authentication of individual identity) not found in the document +- Section 3.2.4 (Non-verified subscriber information) not found in the document +- Section 3.2.5 (Validation of authority) not found in the document +- Section 3.2.6 (Criteria for interoperation) not found in the document +- Section 3.3 (Identification and authentication for re-key requests) not found in the document +- Section 3.3.1 (Identification and authentication for routine re-key) not found in the document +- Section 3.3.2 (Identification and authentication for re-key after revocation) not found in the document +- Section 3.4 (Identification and authentication for revocation request) not found in the document +- Section 4 (CERTIFICATE LIFE-CYCLE OPERATIONAL REQUIREMENTS) not found in the document +- Section 4.1 (Certificate Application) not found in the document +- Section 4.1.1 (Who can submit a certificate application) not found in the document +- Section 4.1.2 (Enrollment process and responsibilities) not found in the document +- Section 4.2 (Certificate application processing) not found in the document +- Section 4.2.1 (Performing identification and authentication functions) not found in the document +- Section 4.2.2 (Approval or rejection of certificate applications) not found in the document +- Section 4.2.3 (Time to process certificate applications) not found in the document +- Section 4.3 (Certificate issuance) not found in the document +- Section 4.3.1 (CA actions during certificate issuance) not found in the document +- Section 4.3.2 (Notification to subscriber by the CA of issuance of certificate) not found in the document +- Section 4.4 (Certificate acceptance) not found in the document +- Section 4.4.1 (Conduct constituting certificate acceptance) not found in the document +- Section 4.4.2 (Publication of the certificate by the CA) not found in the document +- Section 4.4.3 (Notification of certificate issuance by the CA to other entities) not found in the document +- Section 4.5 (Key pair and certificate usage) not found in the document +- Section 4.5.1 (Subscriber private key and certificate usage) not found in the document +- Section 4.5.2 (Relying party public key and certificate usage) not found in the document +- Section 4.6 (Certificate renewal) not found in the document +- Section 4.6.1 (Circumstance for certificate renewal) not found in the document +- Section 4.6.2 (Who may request renewal) not found in the document +- Section 4.6.3 (Processing certificate renewal requests) not found in the document +- Section 4.6.4 (Notification of new certificate issuance to subscriber) not found in the document +- Section 4.6.5 (Conduct constituting acceptance of a renewal certificate) not found in the document +- Section 4.6.6 (Publication of the renewal certificate by the CA) not found in the document +- Section 4.6.7 (Notification of certificate issuance by the CA to other entities) not found in the document +- Section 4.7 (Certificate re-key) not found in the document +- Section 4.7.1 (Circumstance for certificate re-key) not found in the document +- Section 4.7.2 (Who may request certification of a new public key) not found in the document +- Section 4.7.3 (Processing certificate re-keying requests) not found in the document +- Section 4.7.4 (Notification of new certificate issuance to subscriber) not found in the document +- Section 4.7.5 (Conduct constituting acceptance of a re-keyed certificate) not found in the document +- Section 4.7.6 (Publication of the re-keyed certificate by the CA) not found in the document +- Section 4.7.7 (Notification of certificate issuance by the CA to other entities) not found in the document +- Section 4.8 (Certificate modification) not found in the document +- Section 4.8.1 (Circumstance for certificate modification) not found in the document +- Section 4.8.2 (Who may request certificate modification) not found in the document +- Section 4.8.3 (Processing certificate modification requests) not found in the document +- Section 4.8.4 (Notification of new certificate issuance to subscriber) not found in the document +- Section 4.8.5 (Conduct constituting acceptance of modified certificate) not found in the document +- Section 4.8.6 (Publication of the modified certificate by the CA) not found in the document +- Section 4.8.7 (Notification of certificate issuance by the CA to other entities) not found in the document +- Section 4.9 (Certificate revocation and suspension) not found in the document +- Section 4.9.1 (Circumstances for revocation) not found in the document +- Section 4.9.2 (Who can request revocation) not found in the document +- Section 4.9.3 (Procedure for revocation request) not found in the document +- Section 4.9.4 (Revocation request grace period) not found in the document +- Section 4.9.5 (Time within which CA must process the revocation request) not found in the document +- Section 4.9.6 (Revocation checking requirement for relying parties) not found in the document +- Section 4.9.7 (CRL issuance frequency (if applicable)) not found in the document +- Section 4.9.8 (Maximum latency for CRLs (if applicable)) not found in the document +- Section 4.9.9 (On-line revocation/status checking availability) not found in the document +- Section 4.9.10 (On-line revocation checking requirements) not found in the document +- Section 4.9.11 (Other forms of revocation advertisements available) not found in the document +- Section 4.9.12 (Special requirements re key compromise) not found in the document +- Section 4.9.13 (Circumstances for suspension) not found in the document +- Section 4.9.14 (Who can request suspension) not found in the document +- Section 4.9.15 (Procedure for suspension request) not found in the document +- Section 4.9.16 (Limits on suspension period) not found in the document +- Section 4.10 (Certificate status services) not found in the document +- Section 4.10.1 (Operational characteristics) not found in the document +- Section 4.10.2 (Service availability) not found in the document +- Section 4.10.3 (Optional features) not found in the document +- Section 4.11 (End of subscription) not found in the document +- Section 4.12 (Key escrow and recovery) not found in the document +- Section 4.12.1 (Key escrow and recovery policy and practices) not found in the document +- Section 4.12.2 (Session key encapsulation and recovery policy and practices) not found in the document +- Section 5 (FACILITY, MANAGEMENT, AND OPERATIONAL CONTROLS) not found in the document +- Section 5.1 (Physical controls) not found in the document +- Section 5.1.1 (Site location and construction) not found in the document +- Section 5.1.2 (Physical access) not found in the document +- Section 5.1.3 (Power and air conditioning) not found in the document +- Section 5.1.4 (Water exposures) not found in the document +- Section 5.1.5 (Fire prevention and protection) not found in the document +- Section 5.1.6 (Media storage) not found in the document +- Section 5.1.7 (Waste disposal) not found in the document +- Section 5.1.8 (Off-site backup) not found in the document +- Section 5.2 (Procedural controls) not found in the document +- Section 5.2.1 (Trusted roles) not found in the document +- Section 5.2.2 (Number of persons required per task) not found in the document +- Section 5.2.3 (Identification and authentication for each role) not found in the document +- Section 5.2.4 (Roles requiring separation of duties) not found in the document +- Section 5.3 (Personnel controls) not found in the document +- Section 5.3.1 (Qualifications, experience, and clearance requirements) not found in the document +- Section 5.3.2 (Background check procedures) not found in the document +- Section 5.3.3 (Training requirements) not found in the document +- Section 5.3.4 (Retraining frequency and requirements) not found in the document +- Section 5.3.5 (Job rotation frequency and sequence) not found in the document +- Section 5.3.6 (Sanctions for unauthorized actions) not found in the document +- Section 5.3.7 (Independent contractor requirements) not found in the document +- Section 5.3.8 (Documentation supplied to personnel) not found in the document +- Section 5.4 (Audit logging procedures) not found in the document +- Section 5.4.1 (Types of events recorded) not found in the document +- Section 5.4.2 (Frequency of processing log) not found in the document +- Section 5.4.3 (Retention period for audit log) not found in the document +- Section 5.4.4 (Protection of audit log) not found in the document +- Section 5.4.5 (Audit log backup procedures) not found in the document +- Section 5.4.6 (Audit collection system (internal vs. external)) not found in the document +- Section 5.4.7 (Notification to event-causing subject) not found in the document +- Section 5.4.8 (Vulnerability assessments) not found in the document +- Section 5.5 (Records archival) not found in the document +- Section 5.5.1 (Types of records archived) not found in the document +- Section 5.5.2 (Retention period for archive) not found in the document +- Section 5.5.3 (Protection of archive) not found in the document +- Section 5.5.4 (Archive backup procedures) not found in the document +- Section 5.5.5 (Requirements for time-stamping of records) not found in the document +- Section 5.5.6 (Archive collection system (internal or external)) not found in the document +- Section 5.5.7 (Procedures to obtain and verify archive information) not found in the document +- Section 5.6 (Key changeover) not found in the document +- Section 5.7 (Compromise and disaster recovery) not found in the document +- Section 5.7.1 (Incident and compromise handling procedures) not found in the document +- Section 5.7.2 (Computing resources, software, and/or data are corrupted) not found in the document +- Section 5.7.3 (Entity private key compromise procedures) not found in the document +- Section 5.7.4 (Business continuity capabilities after a disaster) not found in the document +- Section 5.8 (CA or RA termination) not found in the document +- Section 6 (TECHNICAL SECURITY CONTROLS) not found in the document +- Section 6.1 (Key pair generation and installation) not found in the document +- Section 6.1.1 (Key pair generation) not found in the document +- Section 6.1.2 (Private key delivery to subscriber) not found in the document +- Section 6.1.3 (Public key delivery to certificate issuer) not found in the document +- Section 6.1.4 (CA public key delivery to relying parties) not found in the document +- Section 6.1.5 (Key sizes) not found in the document +- Section 6.1.6 (Public key parameters generation and quality checking) not found in the document +- Section 6.1.7 (Key usage purposes (as per X.509 v3 key usage field)) not found in the document +- Section 6.2 (Private Key Protection and Cryptographic Module Engineering Controls) not found in the document +- Section 6.2.1 (Cryptographic module standards and controls) not found in the document +- Section 6.2.2 (Private key (n out of m) multi-person control) not found in the document +- Section 6.2.3 (Private key escrow) not found in the document +- Section 6.2.4 (Private key backup) not found in the document +- Section 6.2.5 (Private key archival) not found in the document +- Section 6.2.6 (Private key transfer into or from a cryptographic module) not found in the document +- Section 6.2.7 (Private key storage on cryptographic module) not found in the document +- Section 6.2.8 (Method of activating private key) not found in the document +- Section 6.2.9 (Method of deactivating private key) not found in the document +- Section 6.2.10 (Method of destroying private key) not found in the document +- Section 6.2.11 (Cryptographic Module Rating) not found in the document +- Section 6.3 (Other aspects of key pair management) not found in the document +- Section 6.3.1 (Public key archival) not found in the document +- Section 6.3.2 (Certificate operational periods and key pair usage periods) not found in the document +- Section 6.4 (Activation data) not found in the document +- Section 6.4.1 (Activation data generation and installation) not found in the document +- Section 6.4.2 (Activation data protection) not found in the document +- Section 6.4.3 (Other aspects of activation data) not found in the document +- Section 6.5 (Computer security controls) not found in the document +- Section 6.5.1 (Specific computer security technical requirements) not found in the document +- Section 6.5.2 (Computer security rating) not found in the document +- Section 6.6 (Life cycle technical controls) not found in the document +- Section 6.6.1 (System development controls) not found in the document +- Section 6.6.2 (Security management controls) not found in the document +- Section 6.6.3 (Life cycle security controls) not found in the document +- Section 6.7 (Network security controls) not found in the document +- Section 6.8 (Time-stamping) not found in the document +- Section 7 (CERTIFICATE, CRL, AND OCSP PROFILES) not found in the document +- Section 7.1 (Certificate profile) not found in the document +- Section 7.1.1 (Version number(s)) not found in the document +- Section 7.1.2 (Certificate extensions) not found in the document +- Section 7.1.3 (Algorithm object identifiers) not found in the document +- Section 7.1.4 (Name forms) not found in the document +- Section 7.1.5 (Name constraints) not found in the document +- Section 7.1.6 (Certificate policy object identifier) not found in the document +- Section 7.1.7 (Usage of Policy Constraints extension) not found in the document +- Section 7.1.8 (Policy qualifiers syntax and semantics) not found in the document +- Section 7.1.9 (Processing semantics for the critical Certificate Policies extension) not found in the document +- Section 7.2 (CRL profile) not found in the document +- Section 7.2.1 (Version number(s)) not found in the document +- Section 7.2.2 (CRL and CRL entry extensions) not found in the document +- Section 7.3 (OCSP profile) not found in the document +- Section 7.3.1 (Version number(s)) not found in the document +- Section 7.3.2 (OCSP extensions) not found in the document +- Section 8 (COMPLIANCE AUDIT AND OTHER ASSESSMENTS) not found in the document +- Section 8.1 (Frequency or circumstances of assessment) not found in the document +- Section 8.2 (Identity/qualifications of assessor) not found in the document +- Section 8.3 (Assessor's relationship to assessed entity) not found in the document +- Section 8.4 (Topics covered by assessment) not found in the document +- Section 8.5 (Actions taken as a result of deficiency) not found in the document +- Section 8.6 (Communication of results) not found in the document +- Section 9 (OTHER BUSINESS AND LEGAL MATTERS) not found in the document +- Section 9.1 (Fees) not found in the document +- Section 9.1.1 (Certificate issuance or renewal fees) not found in the document +- Section 9.1.2 (Certificate access fees) not found in the document +- Section 9.1.3 (Revocation or status information access fees) not found in the document +- Section 9.1.4 (Fees for other services) not found in the document +- Section 9.1.5 (Refund policy) not found in the document +- Section 9.2 (Financial responsibility) not found in the document +- Section 9.2.1 (Insurance coverage) not found in the document +- Section 9.2.2 (Other assets) not found in the document +- Section 9.2.3 (Insurance or warranty coverage for end-entities) not found in the document +- Section 9.3 (Confidentiality of business information) not found in the document +- Section 9.3.1 (Scope of confidential information) not found in the document +- Section 9.3.2 (Information not within the scope of confidential information) not found in the document +- Section 9.3.3 (Responsibility to protect confidential information) not found in the document +- Section 9.4 (Privacy of personal information) not found in the document +- Section 9.4.1 (Privacy plan) not found in the document +- Section 9.4.2 (Information treated as private) not found in the document +- Section 9.4.3 (Information not deemed private) not found in the document +- Section 9.4.4 (Responsibility to protect private information) not found in the document +- Section 9.4.5 (Notice and consent to use private information) not found in the document +- Section 9.4.6 (Disclosure pursuant to judicial or administrative process) not found in the document +- Section 9.4.7 (Other information disclosure circumstances) not found in the document +- Section 9.5 (Intellectual property rights) not found in the document +- Section 9.6 (Representations and warranties) not found in the document +- Section 9.6.1 (CA representations and warranties) not found in the document +- Section 9.6.2 (RA representations and warranties) not found in the document +- Section 9.6.3 (Subscriber representations and warranties) not found in the document +- Section 9.6.4 (Relying party representations and warranties) not found in the document +- Section 9.6.5 (Representations and warranties of other participants) not found in the document +- Section 9.7 (Disclaimers of warranties) not found in the document +- Section 9.8 (Limitations of liability) not found in the document +- Section 9.9 (Indemnities) not found in the document +- Section 9.10 (Term and termination) not found in the document +- Section 9.10.1 (Term) not found in the document +- Section 9.10.2 (Termination) not found in the document +- Section 9.10.3 (Effect of termination and survival) not found in the document +- Section 9.11 (Individual notices and communications with participants) not found in the document +- Section 9.12 (Amendments) not found in the document +- Section 9.12.1 (Procedure for amendment) not found in the document +- Section 9.12.2 (Notification mechanism and period) not found in the document +- Section 9.12.3 (Circumstances under which OID must be changed) not found in the document +- Section 9.13 (Dispute resolution provisions) not found in the document +- Section 9.14 (Governing law) not found in the document +- Section 9.15 (Compliance with applicable law) not found in the document +- Section 9.16 (Miscellaneous provisions) not found in the document +- Section 9.16.1 (Entire agreement) not found in the document +- Section 9.16.2 (Assignment) not found in the document +- Section 9.16.3 (Severability) not found in the document +- Section 9.16.4 (Enforcement (attorneys' fees and waiver of rights)) not found in the document +- Section 9.16.5 (Force Majeure) not found in the document +- Section 9.17 (Other provisions) not found in the document diff --git a/tests/expected/entrust-tlsbr-sections.txt b/tests/expected/entrust-tlsbr-sections.txt new file mode 100644 index 0000000..85c9523 --- /dev/null +++ b/tests/expected/entrust-tlsbr-sections.txt @@ -0,0 +1,398 @@ + +TLSBR + +- Section 1. (INTRODUCTION) not found in the document +- Section 1.1 (Overview) not found in the document +- Section 1.2 (Document name and identification) not found in the document +- Section 1.2.1 (Revisions) not found in the document +- Section 1.2.2 (Relevant Dates) not found in the document +- Section 1.3 (PKI Participants) not found in the document +- Section 1.3.1 (Certification Authorities) not found in the document +- Section 1.3.2 (Registration Authorities) not found in the document +- Section 1.3.3 (Subscribers) not found in the document +- Section 1.3.4 (Relying Parties) not found in the document +- Section 1.3.5 (Other Participants) not found in the document +- Section 1.4 (Certificate Usage) not found in the document +- Section 1.4.1 (Appropriate Certificate Uses) not found in the document +- Section 1.4.2 (Prohibited Certificate Uses) not found in the document +- Section 1.5 (Policy administration) not found in the document +- Section 1.5.1 (Organization Administering the Document) not found in the document +- Section 1.5.2 (Contact Person) not found in the document +- Section 1.5.3 (Person Determining CPS suitability for the policy) not found in the document +- Section 1.5.4 (CPS approval procedures) not found in the document +- Section 1.6 (Definitions and Acronyms) not found in the document +- Section 1.6.1 (Definitions) not found in the document +- Section 1.6.2 (Acronyms) not found in the document +- Section 1.6.3 (References) not found in the document +- Section 1.6.4 (Conventions) not found in the document +- Section 2. (PUBLICATION AND REPOSITORY RESPONSIBILITIES) not found in the document +- Section 2.1 (Repositories) not found in the document +- Section 2.2 (Publication of information) not found in the document +- Section 2.3 (Time or frequency of publication) not found in the document +- Section 2.4 (Access controls on repositories) not found in the document +- Section 3. (IDENTIFICATION AND AUTHENTICATION) not found in the document +- Section 3.1 (Naming) not found in the document +- Section 3.1.1 (Types of names) not found in the document +- Section 3.1.2 (Need for names to be meaningful) not found in the document +- Section 3.1.3 (Anonymity or pseudonymity of subscribers) not found in the document +- Section 3.1.4 (Rules for interpreting various name forms) not found in the document +- Section 3.1.5 (Uniqueness of names) not found in the document +- Section 3.1.6 (Recognition, authentication, and role of trademarks) not found in the document +- Section 3.2 (Initial identity validation) not found in the document +- Section 3.2.1 (Method to prove possession of private key) not found in the document +- Section 3.2.2 (Authentication of Organization and Domain Identity) not found in the document +- Section 3.2.2.1 (Identity) not found in the document +- Section 3.2.2.2 (DBA/Tradename) not found in the document +- Section 3.2.2.3 (Verification of Country) not found in the document +- Section 3.2.2.4 (Validation of Domain Authorization or Control) not found in the document +- Section 3.2.2.4.1 (Validating the Applicant as a Domain Contact) not found in the document +- Section 3.2.2.4.2 (Email, Fax, SMS, or Postal Mail to Domain Contact) not found in the document +- Section 3.2.2.4.3 (Phone Contact with Domain Contact) not found in the document +- Section 3.2.2.4.4 (Constructed Email to Domain Contact) not found in the document +- Section 3.2.2.4.5 (Domain Authorization Document) not found in the document +- Section 3.2.2.4.6 (Agreed-Upon Change to Website) not found in the document +- Section 3.2.2.4.7 (DNS Change) not found in the document +- Section 3.2.2.4.8 (IP Address) not found in the document +- Section 3.2.2.4.9 (Test Certificate) not found in the document +- Section 3.2.2.4.10 (TLS Using a Random Value) not found in the document +- Section 3.2.2.4.11 (Any Other Method) not found in the document +- Section 3.2.2.4.12 (Validating Applicant as a Domain Contact) not found in the document +- Section 3.2.2.4.13 (Email to DNS CAA Contact) not found in the document +- Section 3.2.2.4.14 (Email to DNS TXT Contact) not found in the document +- Section 3.2.2.4.15 (Phone Contact with Domain Contact) not found in the document +- Section 3.2.2.4.16 (Phone Contact with DNS TXT Record Phone Contact) not found in the document +- Section 3.2.2.4.17 (Phone Contact with DNS CAA Phone Contact) not found in the document +- Section 3.2.2.4.18 (Agreed-Upon Change to Website v2) not found in the document +- Section 3.2.2.4.19 (Agreed-Upon Change to Website - ACME) not found in the document +- Section 3.2.2.4.20 (TLS Using ALPN) not found in the document +- Section 3.2.2.5 (Authentication for an IP Address) not found in the document +- Section 3.2.2.5.1 (Agreed-Upon Change to Website) not found in the document +- Section 3.2.2.5.2 (Email, Fax, SMS, or Postal Mail to IP Address Contact) not found in the document +- Section 3.2.2.5.3 (Reverse Address Lookup) not found in the document +- Section 3.2.2.5.4 (Any Other Method) not found in the document +- Section 3.2.2.5.5 (Phone Contact with IP Address Contact) not found in the document +- Section 3.2.2.5.6 (ACME “http-01” method for IP Addresses) not found in the document +- Section 3.2.2.5.7 (ACME “tls-alpn-01” method for IP Addresses) not found in the document +- Section 3.2.2.6 (Wildcard Domain Validation) not found in the document +- Section 3.2.2.7 (Data Source Accuracy) not found in the document +- Section 3.2.2.8 (CAA Records) not found in the document +- Section 3.2.3 (Authentication of individual identity) not found in the document +- Section 3.2.4 (Non-verified subscriber information) not found in the document +- Section 3.2.5 (Validation of authority) not found in the document +- Section 3.2.6 (Criteria for Interoperation or Certification) not found in the document +- Section 3.3 (Identification and authentication for re-key requests) not found in the document +- Section 3.3.1 (Identification and authentication for routine re-key) not found in the document +- Section 3.3.2 (Identification and authentication for re-key after revocation) not found in the document +- Section 3.4 (Identification and authentication for revocation request) not found in the document +- Section 4. (CERTIFICATE LIFE-CYCLE OPERATIONAL REQUIREMENTS) not found in the document +- Section 4.1 (Certificate Application) not found in the document +- Section 4.1.1 (Who can submit a certificate application) not found in the document +- Section 4.1.2 (Enrollment process and responsibilities) not found in the document +- Section 4.2 (Certificate application processing) not found in the document +- Section 4.2.1 (Performing identification and authentication functions) not found in the document +- Section 4.2.2 (Approval or rejection of certificate applications) not found in the document +- Section 4.2.3 (Time to process certificate applications) not found in the document +- Section 4.3 (Certificate issuance) not found in the document +- Section 4.3.1 (CA actions during certificate issuance) not found in the document +- Section 4.3.2 (Notification to subscriber by the CA of issuance of certificate) not found in the document +- Section 4.4 (Certificate acceptance) not found in the document +- Section 4.4.1 (Conduct constituting certificate acceptance) not found in the document +- Section 4.4.2 (Publication of the certificate by the CA) not found in the document +- Section 4.4.3 (Notification of certificate issuance by the CA to other entities) not found in the document +- Section 4.5 (Key pair and certificate usage) not found in the document +- Section 4.5.1 (Subscriber private key and certificate usage) not found in the document +- Section 4.5.2 (Relying party public key and certificate usage) not found in the document +- Section 4.6 (Certificate renewal) not found in the document +- Section 4.6.1 (Circumstance for certificate renewal) not found in the document +- Section 4.6.2 (Who may request renewal) not found in the document +- Section 4.6.3 (Processing certificate renewal requests) not found in the document +- Section 4.6.4 (Notification of new certificate issuance to subscriber) not found in the document +- Section 4.6.5 (Conduct constituting acceptance of a renewal certificate) not found in the document +- Section 4.6.6 (Publication of the renewal certificate by the CA) not found in the document +- Section 4.6.7 (Notification of certificate issuance by the CA to other entities) not found in the document +- Section 4.7 (Certificate re-key) not found in the document +- Section 4.7.1 (Circumstance for certificate re-key) not found in the document +- Section 4.7.2 (Who may request certification of a new public key) not found in the document +- Section 4.7.3 (Processing certificate re-keying requests) not found in the document +- Section 4.7.4 (Notification of new certificate issuance to subscriber) not found in the document +- Section 4.7.5 (Conduct constituting acceptance of a re-keyed certificate) not found in the document +- Section 4.7.6 (Publication of the re-keyed certificate by the CA) not found in the document +- Section 4.7.7 (Notification of certificate issuance by the CA to other entities) not found in the document +- Section 4.8 (Certificate modification) not found in the document +- Section 4.8.1 (Circumstance for certificate modification) not found in the document +- Section 4.8.2 (Who may request certificate modification) not found in the document +- Section 4.8.3 (Processing certificate modification requests) not found in the document +- Section 4.8.4 (Notification of new certificate issuance to subscriber) not found in the document +- Section 4.8.5 (Conduct constituting acceptance of modified certificate) not found in the document +- Section 4.8.6 (Publication of the modified certificate by the CA) not found in the document +- Section 4.8.7 (Notification of certificate issuance by the CA to other entities) not found in the document +- Section 4.9 (Certificate revocation and suspension) not found in the document +- Section 4.9.1 (Circumstances for revocation) not found in the document +- Section 4.9.1.1 (Reasons for Revoking a Subscriber Certificate) not found in the document +- Section 4.9.1.2 (Reasons for Revoking a Subordinate CA Certificate) not found in the document +- Section 4.9.2 (Who can request revocation) not found in the document +- Section 4.9.3 (Procedure for revocation request) not found in the document +- Section 4.9.4 (Revocation request grace period) not found in the document +- Section 4.9.5 (Time within which CA must process the revocation request) not found in the document +- Section 4.9.6 (Revocation checking requirement for relying parties) not found in the document +- Section 4.9.7 (CRL issuance frequency) not found in the document +- Section 4.9.8 (Maximum latency for CRLs (if applicable)) not found in the document +- Section 4.9.9 (On-line revocation/status checking availability) not found in the document +- Section 4.9.10 (On-line revocation checking requirements) not found in the document +- Section 4.9.11 (Other forms of revocation advertisements available) not found in the document +- Section 4.9.12 (Special requirements re key compromise) not found in the document +- Section 4.9.13 (Circumstances for suspension) not found in the document +- Section 4.9.14 (Who can request suspension) not found in the document +- Section 4.9.15 (Procedure for suspension request) not found in the document +- Section 4.9.16 (Limits on suspension period) not found in the document +- Section 4.10 (Certificate status services) not found in the document +- Section 4.10.1 (Operational characteristics) not found in the document +- Section 4.10.2 (Service availability) not found in the document +- Section 4.10.3 (Optional features) not found in the document +- Section 4.11 (End of subscription) not found in the document +- Section 4.12 (Key escrow and recovery) not found in the document +- Section 4.12.1 (Key escrow and recovery policy and practices) not found in the document +- Section 4.12.2 (Session key encapsulation and recovery policy and practices) not found in the document +- Section 5. (MANAGEMENT, OPERATIONAL, AND PHYSICAL CONTROLS) not found in the document +- Section 5.1 (Physical Security Controls) not found in the document +- Section 5.1.1 (Site location and construction) not found in the document +- Section 5.1.2 (Physical access) not found in the document +- Section 5.1.3 (Power and air conditioning) not found in the document +- Section 5.1.4 (Water exposures) not found in the document +- Section 5.1.5 (Fire prevention and protection) not found in the document +- Section 5.1.6 (Media storage) not found in the document +- Section 5.1.7 (Waste disposal) not found in the document +- Section 5.1.8 (Off-site backup) not found in the document +- Section 5.2 (Procedural controls) not found in the document +- Section 5.2.1 (Trusted roles) not found in the document +- Section 5.2.2 (Number of Individuals Required per Task) not found in the document +- Section 5.2.3 (Identification and authentication for each role) not found in the document +- Section 5.2.4 (Roles requiring separation of duties) not found in the document +- Section 5.3 (Personnel controls) not found in the document +- Section 5.3.1 (Qualifications, experience, and clearance requirements) not found in the document +- Section 5.3.2 (Background check procedures) not found in the document +- Section 5.3.3 (Training Requirements and Procedures) not found in the document +- Section 5.3.4 (Retraining frequency and requirements) not found in the document +- Section 5.3.5 (Job rotation frequency and sequence) not found in the document +- Section 5.3.6 (Sanctions for unauthorized actions) not found in the document +- Section 5.3.7 (Independent Contractor Controls) not found in the document +- Section 5.3.8 (Documentation supplied to personnel) not found in the document +- Section 5.4 (Audit logging procedures) not found in the document +- Section 5.4.1 (Types of events recorded) not found in the document +- Section 5.4.1.1 (Router and firewall activities logs) not found in the document +- Section 5.4.2 (Frequency of processing audit log) not found in the document +- Section 5.4.3 (Retention period for audit log) not found in the document +- Section 5.4.4 (Protection of audit log) not found in the document +- Section 5.4.5 (Audit log backup procedures) not found in the document +- Section 5.4.6 (Audit collection System (internal vs. external)) not found in the document +- Section 5.4.7 (Notification to event-causing subject) not found in the document +- Section 5.4.8 (Vulnerability assessments) not found in the document +- Section 5.5 (Records archival) not found in the document +- Section 5.5.1 (Types of records archived) not found in the document +- Section 5.5.2 (Retention period for archive) not found in the document +- Section 5.5.3 (Protection of archive) not found in the document +- Section 5.5.4 (Archive backup procedures) not found in the document +- Section 5.5.5 (Requirements for time-stamping of records) not found in the document +- Section 5.5.6 (Archive collection system (internal or external)) not found in the document +- Section 5.5.7 (Procedures to obtain and verify archive information) not found in the document +- Section 5.6 (Key changeover) not found in the document +- Section 5.7 (Compromise and disaster recovery) not found in the document +- Section 5.7.1 (Incident and compromise handling procedures) not found in the document +- Section 5.7.2 (Recovery Procedures if Computing resources, software, and/or data are corrupted) not found in the document +- Section 5.7.3 (Recovery Procedures after Key Compromise) not found in the document +- Section 5.7.4 (Business continuity capabilities after a disaster) not found in the document +- Section 5.8 (CA or RA termination) not found in the document +- Section 6. (TECHNICAL SECURITY CONTROLS) not found in the document +- Section 6.1 (Key pair generation and installation) not found in the document +- Section 6.1.1 (Key pair generation) not found in the document +- Section 6.1.1.1 (CA Key Pair Generation) not found in the document +- Section 6.1.1.2 (RA Key Pair Generation) not found in the document +- Section 6.1.1.3 (Subscriber Key Pair Generation) not found in the document +- Section 6.1.2 (Private key delivery to subscriber) not found in the document +- Section 6.1.3 (Public key delivery to certificate issuer) not found in the document +- Section 6.1.4 (CA public key delivery to relying parties) not found in the document +- Section 6.1.5 (Key sizes) not found in the document +- Section 6.1.6 (Public key parameters generation and quality checking) not found in the document +- Section 6.1.7 (Key usage purposes (as per X.509 v3 key usage field)) not found in the document +- Section 6.2 (Private Key Protection and Cryptographic Module Engineering Controls) not found in the document +- Section 6.2.1 (Cryptographic module standards and controls) not found in the document +- Section 6.2.2 (Private key (n out of m) multi-person control) not found in the document +- Section 6.2.3 (Private key escrow) not found in the document +- Section 6.2.4 (Private key backup) not found in the document +- Section 6.2.5 (Private key archival) not found in the document +- Section 6.2.6 (Private key transfer into or from a cryptographic module) not found in the document +- Section 6.2.7 (Private key storage on cryptographic module) not found in the document +- Section 6.2.8 (Activating Private Keys) not found in the document +- Section 6.2.9 (Deactivating Private Keys) not found in the document +- Section 6.2.10 (Destroying Private Keys) not found in the document +- Section 6.2.11 (Cryptographic Module Rating) not found in the document +- Section 6.3 (Other aspects of key pair management) not found in the document +- Section 6.3.1 (Public key archival) not found in the document +- Section 6.3.2 (Certificate operational periods and key pair usage periods) not found in the document +- Section 6.4 (Activation data) not found in the document +- Section 6.4.1 (Activation data generation and installation) not found in the document +- Section 6.4.2 (Activation data protection) not found in the document +- Section 6.4.3 (Other aspects of activation data) not found in the document +- Section 6.5 (Computer security controls) not found in the document +- Section 6.5.1 (Specific computer security technical requirements) not found in the document +- Section 6.5.2 (Computer security rating) not found in the document +- Section 6.6 (Life cycle technical controls) not found in the document +- Section 6.6.1 (System development controls) not found in the document +- Section 6.6.2 (Security management controls) not found in the document +- Section 6.6.3 (Life cycle security controls) not found in the document +- Section 6.7 (Network security controls) not found in the document +- Section 6.8 (Time-stamping) not found in the document +- Section 7. (CERTIFICATE, CRL, AND OCSP PROFILES) not found in the document +- Section 7.1 (Certificate profile) not found in the document +- Section 7.1.1 (Version number(s)) not found in the document +- Section 7.1.2 (Certificate Content and Extensions) not found in the document +- Section 7.1.2.1 (Root CA Certificate Profile) not found in the document +- Section 7.1.2.1.1 (Root CA Validity) not found in the document +- Section 7.1.2.1.2 (Root CA Extensions) not found in the document +- Section 7.1.2.1.3 (Root CA Authority Key Identifier) not found in the document +- Section 7.1.2.1.4 (Root CA Basic Constraints) not found in the document +- Section 7.1.2.2 (Cross-Certified Subordinate CA Certificate Profile) not found in the document +- Section 7.1.2.2.1 (Cross-Certified Subordinate CA Validity) not found in the document +- Section 7.1.2.2.2 (Cross-Certified Subordinate CA Naming) not found in the document +- Section 7.1.2.2.3 (Cross-Certified Subordinate CA Extensions) not found in the document +- Section 7.1.2.2.4 (Cross-Certified Subordinate CA Extended Key Usage - Unrestricted) not found in the document +- Section 7.1.2.2.5 (Cross-Certified Subordinate CA Extended Key Usage - Restricted) not found in the document +- Section 7.1.2.3 (Technically Constrained Non-TLS Subordinate CA Certificate Profile) not found in the document +- Section 7.1.2.3.1 (Technically Constrained Non-TLS Subordinate CA Extensions) not found in the document +- Section 7.1.2.3.2 (Technically Constrained Non-TLS Subordinate CA Certificate Policies) not found in the document +- Section 7.1.2.3.3 (Technically Constrained Non-TLS Subordinate CA Extended Key Usage) not found in the document +- Section 7.1.2.4 (Technically Constrained Precertificate Signing CA Certificate Profile) not found in the document +- Section 7.1.2.4.1 (Technically Constrained Precertificate Signing CA Extensions) not found in the document +- Section 7.1.2.4.2 (Technically Constrained Precertificate Signing CA Extended Key Usage) not found in the document +- Section 7.1.2.5 (Technically Constrained TLS Subordinate CA Certificate Profile) not found in the document +- Section 7.1.2.5.1 (Technically Constrained TLS Subordinate CA Extensions) not found in the document +- Section 7.1.2.5.2 (Technically Constrained TLS Subordinate CA Name Constraints) not found in the document +- Section 7.1.2.6 (TLS Subordinate CA Certificate Profile) not found in the document +- Section 7.1.2.6.1 (TLS Subordinate CA Extensions) not found in the document +- Section 7.1.2.7 (Subscriber (Server) Certificate Profile) not found in the document +- Section 7.1.2.7.1 (Subscriber Certificate Types) not found in the document +- Section 7.1.2.7.2 (Domain Validated) not found in the document +- Section 7.1.2.7.3 (Individual Validated) not found in the document +- Section 7.1.2.7.4 (Organization Validated) not found in the document +- Section 7.1.2.7.5 (Extended Validation) not found in the document +- Section 7.1.2.7.6 (Subscriber Certificate Extensions) not found in the document +- Section 7.1.2.7.7 (Subscriber Certificate Authority Information Access) not found in the document +- Section 7.1.2.7.8 (Subscriber Certificate Basic Constraints) not found in the document +- Section 7.1.2.7.9 (Subscriber Certificate Certificate Policies) not found in the document +- Section 7.1.2.7.10 (Subscriber Certificate Extended Key Usage) not found in the document +- Section 7.1.2.7.11 (Subscriber Certificate Key Usage) not found in the document +- Section 7.1.2.7.12 (Subscriber Certificate Subject Alternative Name) not found in the document +- Section 7.1.2.8 (OCSP Responder Certificate Profile) not found in the document +- Section 7.1.2.8.1 (OCSP Responder Validity) not found in the document +- Section 7.1.2.8.2 (OCSP Responder Extensions) not found in the document +- Section 7.1.2.8.3 (OCSP Responder Authority Information Access) not found in the document +- Section 7.1.2.8.4 (OCSP Responder Basic Constraints) not found in the document +- Section 7.1.2.8.5 (OCSP Responder Extended Key Usage) not found in the document +- Section 7.1.2.8.6 (OCSP Responder id-pkix-ocsp-nocheck) not found in the document +- Section 7.1.2.8.7 (OCSP Responder Key Usage) not found in the document +- Section 7.1.2.8.8 (OCSP Responder Certificate Policies) not found in the document +- Section 7.1.2.9 (Precertificate Profile) not found in the document +- Section 7.1.2.9.1 (Precertificate Profile Extensions - Directly Issued) not found in the document +- Section 7.1.2.9.2 (Precertificate Profile Extensions - Precertificate CA Issued) not found in the document +- Section 7.1.2.9.3 (Precertificate Poison) not found in the document +- Section 7.1.2.9.4 (Precertificate Authority Key Identifier) not found in the document +- Section 7.1.2.10 (Common CA Fields) not found in the document +- Section 7.1.2.10.1 (CA Certificate Validity) not found in the document +- Section 7.1.2.10.2 (CA Certificate Naming) not found in the document +- Section 7.1.2.10.3 (CA Certificate Authority Information Access) not found in the document +- Section 7.1.2.10.4 (CA Certificate Basic Constraints) not found in the document +- Section 7.1.2.10.5 (CA Certificate Certificate Policies) not found in the document +- Section 7.1.2.10.6 (CA Certificate Extended Key Usage) not found in the document +- Section 7.1.2.10.7 (CA Certificate Key Usage) not found in the document +- Section 7.1.2.10.8 (CA Certificate Name Constraints) not found in the document +- Section 7.1.2.11 (Common Certificate Fields) not found in the document +- Section 7.1.2.11.1 (Authority Key Identifier) not found in the document +- Section 7.1.2.11.2 (CRL Distribution Points) not found in the document +- Section 7.1.2.11.3 (Signed Certificate Timestamp List) not found in the document +- Section 7.1.2.11.4 (Subject Key Identifier) not found in the document +- Section 7.1.2.11.5 (Other Extensions) not found in the document +- Section 7.1.3 (Algorithm object identifiers) not found in the document +- Section 7.1.3.1 (SubjectPublicKeyInfo) not found in the document +- Section 7.1.3.1.1 (RSA) not found in the document +- Section 7.1.3.1.2 (ECDSA) not found in the document +- Section 7.1.3.2 (Signature AlgorithmIdentifier) not found in the document +- Section 7.1.3.2.1 (RSA) not found in the document +- Section 7.1.3.2.2 (ECDSA) not found in the document +- Section 7.1.4 (Name Forms) not found in the document +- Section 7.1.4.1 (Name Encoding) not found in the document +- Section 7.1.4.2 (Subject Attribute Encoding) not found in the document +- Section 7.1.4.3 (Subscriber Certificate Common Name Attribute) not found in the document +- Section 7.1.4.4 (Other Subject Attributes) not found in the document +- Section 7.1.5 (Name constraints) not found in the document +- Section 7.1.6 (Certificate policy object identifier) not found in the document +- Section 7.1.6.1 (Reserved Certificate Policy Identifiers) not found in the document +- Section 7.1.7 (Usage of Policy Constraints extension) not found in the document +- Section 7.1.8 (Policy qualifiers syntax and semantics) not found in the document +- Section 7.1.9 (Processing semantics for the critical Certificate Policies extension) not found in the document +- Section 7.2 (CRL profile) not found in the document +- Section 7.2.1 (Version number(s)) not found in the document +- Section 7.2.2 (CRL and CRL entry extensions) not found in the document +- Section 7.2.2.1 (CRL Issuing Distribution Point) not found in the document +- Section 7.3 (OCSP profile) not found in the document +- Section 7.3.1 (Version number(s)) not found in the document +- Section 7.3.2 (OCSP extensions) not found in the document +- Section 8. (COMPLIANCE AUDIT AND OTHER ASSESSMENTS) not found in the document +- Section 8.1 (Frequency or circumstances of assessment) not found in the document +- Section 8.2 (Identity/qualifications of assessor) not found in the document +- Section 8.3 (Assessor's relationship to assessed entity) not found in the document +- Section 8.4 (Topics covered by assessment) not found in the document +- Section 8.5 (Actions taken as a result of deficiency) not found in the document +- Section 8.6 (Communication of results) not found in the document +- Section 8.7 (Self-Audits) not found in the document +- Section 9. (OTHER BUSINESS AND LEGAL MATTERS) not found in the document +- Section 9.1 (Fees) not found in the document +- Section 9.1.1 (Certificate issuance or renewal fees) not found in the document +- Section 9.1.2 (Certificate access fees) not found in the document +- Section 9.1.3 (Revocation or status information access fees) not found in the document +- Section 9.1.4 (Fees for other services) not found in the document +- Section 9.1.5 (Refund policy) not found in the document +- Section 9.2 (Financial responsibility) not found in the document +- Section 9.2.1 (Insurance coverage) not found in the document +- Section 9.2.2 (Other assets) not found in the document +- Section 9.2.3 (Insurance or warranty coverage for end-entities) not found in the document +- Section 9.3 (Confidentiality of business information) not found in the document +- Section 9.3.1 (Scope of confidential information) not found in the document +- Section 9.3.2 (Information not within the scope of confidential information) not found in the document +- Section 9.3.3 (Responsibility to protect confidential information) not found in the document +- Section 9.4 (Privacy of personal information) not found in the document +- Section 9.4.1 (Privacy plan) not found in the document +- Section 9.4.2 (Information treated as private) not found in the document +- Section 9.4.3 (Information not deemed private) not found in the document +- Section 9.4.4 (Responsibility to protect private information) not found in the document +- Section 9.4.5 (Notice and consent to use private information) not found in the document +- Section 9.4.6 (Disclosure pursuant to judicial or administrative process) not found in the document +- Section 9.4.7 (Other information disclosure circumstances) not found in the document +- Section 9.5 (Intellectual property rights) not found in the document +- Section 9.6 (Representations and warranties) not found in the document +- Section 9.6.1 (CA representations and warranties) not found in the document +- Section 9.6.2 (RA representations and warranties) not found in the document +- Section 9.6.3 (Subscriber representations and warranties) not found in the document +- Section 9.6.4 (Relying party representations and warranties) not found in the document +- Section 9.6.5 (Representations and warranties of other participants) not found in the document +- Section 9.7 (Disclaimers of warranties) not found in the document +- Section 9.8 (Limitations of liability) not found in the document +- Section 9.9 (Indemnities) not found in the document +- Section 9.10 (Term and termination) not found in the document +- Section 9.10.1 (Term) not found in the document +- Section 9.10.2 (Termination) not found in the document +- Section 9.10.3 (Effect of termination and survival) not found in the document +- Section 9.11 (Individual notices and communications with participants) not found in the document +- Section 9.12 (Amendments) not found in the document +- Section 9.12.1 (Procedure for amendment) not found in the document +- Section 9.12.2 (Notification mechanism and period) not found in the document +- Section 9.12.3 (Circumstances under which OID must be changed) not found in the document +- Section 9.13 (Dispute resolution provisions) not found in the document +- Section 9.14 (Governing law) not found in the document +- Section 9.15 (Compliance with applicable law) not found in the document +- Section 9.16 (Miscellaneous provisions) not found in the document +- Section 9.16.1 (Entire agreement) not found in the document +- Section 9.16.2 (Assignment) not found in the document +- Section 9.16.3 (Severability) not found in the document +- Section 9.16.4 (Enforcement (attorneys' fees and waiver of rights)) not found in the document +- Section 9.16.5 (Force Majeure) not found in the document +- Section 9.17 (Other provisions) not found in the document diff --git a/tools/check-sections.py b/tools/check-sections.py index 4cd620e..be4dd8e 100644 --- a/tools/check-sections.py +++ b/tools/check-sections.py @@ -682,6 +682,8 @@ } def check_markdown_headers(filename, sections): + found_sections = [] + with open(filename, 'r', encoding='utf-8') as file: for line in file: if line.startswith('#'): @@ -691,22 +693,28 @@ def check_markdown_headers(filename, sections): section_number, title = parts[0], parts[1].lower() # Remove trailing periods from section numbers for consistency section_number = section_number.rstrip('.') + found_sections.append(section_number) + # Check if the section number is in the dictionary if section_number in sections: expected_title = sections[section_number].lower() # Compare the extracted title with the expected title if title == expected_title: print( - Fore.GREEN + f"Section {section_number} title matches: {title}") + Fore.GREEN + f"= Section {section_number} title matches: {title}") else: print( - Fore.RED + f"Section {section_number} title mismatch. Found: {title}, Expected: {expected_title}") + Fore.RED + f"<> Section {section_number} title mismatch. Found: {title}, Expected: {expected_title}") else: print( - f"Section {section_number} ({title}) not found in sections dictionary") + f"+ Section {section_number} ({title}) not found in sections dictionary") else: print(Fore.RED + f"Invalid markdown header format: {line}") + missing_sections = [section_number for section_number in sections if section_number not in found_sections] + for section in missing_sections: + print(Fore.RED + f"- Section {section} ({sections[section]}) not found in the document") + if __name__ == "__main__": if len(sys.argv) < 3: