[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HDGYJRYH3CDZCS2A6W0AY8":3,"skill-same:01M6HDGYJRYH3CDZCS2A6W0AY8":109},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":6,"ownerHtmlUrl":58,"ownerBlogUrl":6,"ownerDescription":59,"updatedAt":60,"install":61,"resources":74},"01M6HDGYJRYH3CDZCS2A6W0AY8","configuring-certificate-authority-with-openssl",null,"A Certificate Authority (CA) is the trust anchor in a PKI hierarchy, responsible for issuing, signing, and revoking digital certificates. This skill covers building a two-tier CA hierarchy (Root CA +","HenriqueMC17\u002Fagente-core","HenriqueMC17","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F206460478?v=4","01M6HB63HBBF18AC4H09XTB549","Henrique Monteiro Cardoso","01M6HB63NGSQXWKWCFWW2B20W0",1,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fconfiguring-certificate-authority-with-openssl\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"openssl","with","configuring certificate authority with openssl","certificate","certificates","for","ca","signing","root","anchor","trust","cybersecurity","x509","certificate-authority","pki","cryptography","pr","2026-11-10 10:12:30",false,"---\nname: configuring-certificate-authority-with-openssl\ndescription: A Certificate Authority (CA) is the trust anchor in a PKI hierarchy, responsible for issuing, signing, and revoking digital certificates. This skill covers building a two-tier CA hierarchy (Root CA +\ndomain: cybersecurity\nsubdomain: cryptography\ntags:\n- cryptography\n- pki\n- certificate-authority\n- openssl\n- x509\nversion: '1.0'\nauthor: mahipal\nlicense: Apache-2.0\nnist_csf:\n- PR.DS-01\n- PR.DS-02\n- PR.DS-10\nmitre_attack:\n- T1649\n- T1553.004\n- T1557\n- T1587.003\ncategory: configuring-certificate-authority-with-openssl\n---\n# Configuring Certificate Authority with OpenSSL\n\n## Overview\n\nA Certificate Authority (CA) is the trust anchor in a PKI hierarchy, responsible for issuing, signing, and revoking digital certificates. This skill covers building a two-tier CA hierarchy (Root CA + Intermediate CA) using OpenSSL and the Python cryptography library, including CRL distribution, OCSP responder configuration, and certificate policy management.\n\n\n## When to Use\n\n- When deploying or configuring configuring certificate authority with openssl capabilities in your environment\n- When establishing security controls aligned to compliance requirements\n- When building or improving security architecture for this domain\n- When conducting security assessments that require this implementation\n\n## Prerequisites\n\n- Familiarity with cryptography concepts and tools\n- Access to a test or lab environment for safe execution\n- Python 3.8+ with required dependencies installed\n- Appropriate authorization for any testing activities\n\n## Objectives\n\n- Create a Root CA with self-signed certificate\n- Create an Intermediate CA signed by the Root CA\n- Issue server and client certificates from the Intermediate CA\n- Configure Certificate Revocation Lists (CRLs)\n- Implement certificate policies and constraints\n- Build a complete PKI hierarchy programmatically\n\n## Key Concepts\n\n### CA Hierarchy\n\n```\nRoot CA (offline, air-gapped)\n  |\n  +-- Intermediate CA (online, operational)\n        |\n        +-- Server Certificates\n        +-- Client Certificates\n        +-- Code Signing Certificates\n```\n\n### Certificate Extensions\n\n| Extension | Purpose | Critical |\n|-----------|---------|----------|\n| basicConstraints | CA:TRUE\u002FFALSE, pathLenConstraint | Yes |\n| keyUsage | keyCertSign, cRLSign, digitalSignature | Yes |\n| extendedKeyUsage | serverAuth, clientAuth, codeSigning | No |\n| subjectKeyIdentifier | Hash of public key | No |\n| authorityKeyIdentifier | Issuer's key identifier | No |\n| crlDistributionPoints | URL to CRL | No |\n| authorityInfoAccess | OCSP responder URL | No |\n\n## Security Considerations\n\n- Root CA private key must be stored offline (air-gapped HSM)\n- Use minimum 4096-bit RSA or P-384 ECDSA for CA keys\n- Set path length constraints on intermediate CAs\n- Implement certificate policies (OIDs)\n- Enable CRL and OCSP for revocation checking\n- Audit all certificate issuance operations\n\n## Validation Criteria\n\n- [ ] Root CA self-signed certificate is valid\n- [ ] Intermediate CA certificate chains to Root CA\n- [ ] Issued certificates chain to Intermediate -> Root\n- [ ] Path length constraints are enforced\n- [ ] CRL is generated and accessible\n- [ ] Revoked certificates appear in CRL\n- [ ] Certificate policies are correctly embedded\n","# Configuring Certificate Authority with OpenSSL\n\n## Overview\n\nA Certificate Authority (CA) is the trust anchor in a PKI hierarchy, responsible for issuing, signing, and revoking digital certificates. This skill covers building a two-tier CA hierarchy (Root CA + Intermediate CA) using OpenSSL and the Python cryptography library, including CRL distribution, OCSP responder configuration, and certificate policy management.\n\n\n## When to Use\n\n- When deploying or configuring configuring certificate authority with openssl capabilities in your environment\n- When establishing security controls aligned to compliance requirements\n- When building or improving security architecture for this domain\n- When conducting security assessments that require this implementation\n\n## Prerequisites\n\n- Familiarity with cryptography concepts and tools\n- Access to a test or lab environment for safe execution\n- Python 3.8+ with required dependencies installed\n- Appropriate authorization for any testing activities\n\n## Objectives\n\n- Create a Root CA with self-signed certificate\n- Create an Intermediate CA signed by the Root CA\n- Issue server and client certificates from the Intermediate CA\n- Configure Certificate Revocation Lists (CRLs)\n- Implement certificate policies and constraints\n- Build a complete PKI hierarchy programmatically\n\n## Key Concepts\n\n### CA Hierarchy\n\n```\nRoot CA (offline, air-gapped)\n  |\n  +-- Intermediate CA (online, operational)\n        |\n        +-- Server Certificates\n        +-- Client Certificates\n        +-- Code Signing Certificates\n```\n\n### Certificate Extensions\n\n| Extension | Purpose | Critical |\n|-----------|---------|----------|\n| basicConstraints | CA:TRUE\u002FFALSE, pathLenConstraint | Yes |\n| keyUsage | keyCertSign, cRLSign, digitalSignature | Yes |\n| extendedKeyUsage | serverAuth, clientAuth, codeSigning | No |\n| subjectKeyIdentifier | Hash of public key | No |\n| authorityKeyIdentifier | Issuer's key identifier | No |\n| crlDistributionPoints | URL to CRL | No |\n| authorityInfoAccess | OCSP responder URL | No |\n\n## Security Considerations\n\n- Root CA private key must be stored offline (air-gapped HSM)\n- Use minimum 4096-bit RSA or P-384 ECDSA for CA keys\n- Set path length constraints on intermediate CAs\n- Implement certificate policies (OIDs)\n- Enable CRL and OCSP for revocation checking\n- Audit all certificate issuance operations\n\n## Validation Criteria\n\n- [ ] Root CA self-signed certificate is valid\n- [ ] Intermediate CA certificate chains to Root CA\n- [ ] Issued certificates chain to Intermediate -> Root\n- [ ] Path length constraints are enforced\n- [ ] CRL is generated and accessible\n- [ ] Revoked certificates appear in CRL\n- [ ] Certificate policies are correctly embedded\n",{"name":5,"tags":41,"author":42,"domain":30,"license":15,"version":43,"category":5,"nist_csf":44,"subdomain":34,"description":7,"mitre_attack":48},[34,33,32,19,31],"mahipal","1.0",[45,46,47],"PR.DS-01","PR.DS-02","PR.DS-10",[49,50,51,52],"T1649","T1553.004","T1557","T1587.003","main","5eea5b3296f4673b5f481e8bcc1ba76281149f16","modules\u002Fconfiguring-certificate-authority-with-openssl",0,"https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core","https:\u002F\u002Fgithub.com\u002FHenriqueMC17","Qualquer tecnologia suficientemente avançada é indistinguível da mágica.","2026-09-28 22:40:38",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add HenriqueMC17\u002Fagente-core --skill configuring-certificate-authority-with-openssl",{"tool":67,"command":68},"bunx","bunx skills add HenriqueMC17\u002Fagente-core --skill configuring-certificate-authority-with-openssl",{"tool":70,"command":71},"pnpm","pnpm dlx skills add HenriqueMC17\u002Fagente-core --skill configuring-certificate-authority-with-openssl","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fconfiguring-certificate-authority-with-openssl\u002FSKILL.md",true,[75,81,86,91,95,99,105],{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"assets\u002Ftemplate.md","ASSET","资产文件",1763,"https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fconfiguring-certificate-authority-with-openssl\u002Fassets\u002Ftemplate.md",{"path":82,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":84,"sourceHtmlUrl":85},"LICENSE","许可证",11255,"https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fconfiguring-certificate-authority-with-openssl\u002FLICENSE",{"path":87,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":79,"sourceHtmlUrl":90},"references\u002Fapi-reference.md","REFERENCE","参考文档","https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fconfiguring-certificate-authority-with-openssl\u002Freferences\u002Fapi-reference.md",{"path":92,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":93,"sourceHtmlUrl":94},"references\u002Fstandards.md",1178,"https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fconfiguring-certificate-authority-with-openssl\u002Freferences\u002Fstandards.md",{"path":96,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":97,"sourceHtmlUrl":98},"references\u002Fworkflows.md",2300,"https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fconfiguring-certificate-authority-with-openssl\u002Freferences\u002Fworkflows.md",{"path":100,"resourceType":101,"resourceTypeDesc":102,"sizeBytes":103,"sourceHtmlUrl":104},"scripts\u002Fagent.py","SCRIPT","脚本",6004,"https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fconfiguring-certificate-authority-with-openssl\u002Fscripts\u002Fagent.py",{"path":106,"resourceType":101,"resourceTypeDesc":102,"sizeBytes":107,"sourceHtmlUrl":108},"scripts\u002Fprocess.py",17298,"https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fconfiguring-certificate-authority-with-openssl\u002Fscripts\u002Fprocess.py",[110,140,165,188,204,225],{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":121,"publishedAt":36},"01M6HPFF0RCN0X6WT5EBSV71GY","validating-backup-integrity-for-recovery","Validate backup integrity through cryptographic hash verification, automated restore testing, corruption detection, and recoverability checks to ensure backups are reliable for disaster recovery and ransomware response scenarios.","https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Fvalidating-backup-integrity-for-recovery\u002FSKILL.md",[116],{"categoryNo":117,"categoryName":118,"taxonomyType":119,"taxonomyTypeDesc":120},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[122,123,124,125,24,126,30,127,128,129,130,131,132,133,134,135,136,137,138,139],"integrity","backup","recovery","validating backup integrity for recovery","testing","validate","verification","hash-verification","incident-response","ransomware","detection","t1078","t1490","disaster-recovery","restore","incident","disaster recovery","ransomware response",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":36},"01M6HPFAWJVFK25Q33K3T7WQ8G","triaging-vulnerabilities-with-ssvc-framework","Triage and prioritize vulnerabilities using CISA's Stakeholder-Specific Vulnerability Categorization (SSVC) decision tree framework to produce actionable remediation priorities.","https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Ftriaging-vulnerabilities-with-ssvc-framework\u002FSKILL.md",[],[147,148,149,150,20,30,151,152,153,154,155,156,157,158,159,160,161,162,163,164],"vulnerabilities","framework","ssvc","triaging vulnerabilities with ssvc framework","triage and prioritize","CISA","vulnerability-management","risk-management","cvss","remediation","vulnerability","prioritization","decision-tree","prioritize","decision","priorities","actionable","tree",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":171,"publishedAt":36},"01M6HPF6JS9X72WP59094H3ASQ","triaging-security-incident","Performs initial triage of security incidents to determine severity, scope, and required response actions using the NIST SP 800-61r3 and SANS PICERL frameworks. Classifies incidents by type, assigns priority based on business impact, and routes...","https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Ftriaging-security-incident\u002FSKILL.md",[],[172,173,137,30,174,175,176,133,134,177,178,179,180,181,182,183,184,185,186,187],"security","triaging security incident","actions","soc","NIST","analysis","severity-classification","incident-triage","SANS-PICERL","SOC-operations","picerl","conversion","isolation","scope","impact","consistency",{"skillNo":189,"name":190,"nameZh":6,"description":191,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":192,"categories":193,"keywords":194,"publishedAt":36},"01M6HPF2EX6ZYNYYHKBRJN7GEF","triaging-security-incident-with-ir-playbook","Classify and prioritize security incidents using structured IR playbooks to determine severity, assign response teams, and initiate appropriate response procedures.","https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Ftriaging-security-incident-with-ir-playbook\u002FSKILL.md",[],[172,195,196,173,137,20,30,197,175,130,198,199,133,134,200,178,160,201,202,203],"playbook","triaging security incident with ir playbook","teams","IR-playbook","severity","classification","classify","incidents","initiate",{"skillNo":205,"name":206,"nameZh":6,"description":207,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":208,"categories":209,"keywords":210,"publishedAt":36},"01M6HPEY9XPGE7X95AG4XJFQAW","triaging-security-alerts-in-splunk","Triages security alerts in Splunk Enterprise Security by classifying severity, investigating notable events, correlating related telemetry, and making escalation or closure decisions using SPL queries and the Incident Review dashboard. Use when...","https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Ftriaging-security-alerts-in-splunk\u002FSKILL.md",[],[172,211,212,213,214,215,30,216,217,218,175,219,133,220,221,222,181,223,137,224],"security alerts","splunk","triaging security alerts in splunk","alerts","review","siem","dashboard","search","correlation-search","t1566","notable-events","incident-review","cm","de",{"skillNo":226,"name":227,"nameZh":6,"description":228,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":229,"categories":230,"keywords":231,"publishedAt":36},"01M6HPET6XGEPEJPN7V032JGZ0","tracking-threat-actor-infrastructure","Threat actor infrastructure tracking involves monitoring and mapping adversary-controlled assets including command-and-control (C2) servers, phishing domains, exploit kit hosts, bulletproof hosting, a","https:\u002F\u002Fgithub.com\u002FHenriqueMC17\u002Fagente-core\u002Fblob\u002Fmain\u002Fmodules\u002Ftracking-threat-actor-infrastructure\u002FSKILL.md",[],[232,233,234,235,30,236,237,238,239,240,241,220,242,243,223,244,224,245,246,247],"infrastructure","tracking threat actor infrastructure","tracking","threat","monitoring","mitre-attack","threat-actor","threat-intelligence","command-and-control","dns","command","exploit","intelligence","domains","kit","hosts"]