// case-study: cert-portal // hybrid-cloud-security
Zero-Trust PKI & Enterprise Certificate Automation
A Zero-Trust, cloud-native PKI platform bridging Azure Cloud and on-premises Active Directory Certificate Services (AD CS) to replace legacy Microsoft certsrv with automated governance, in-browser cryptography, and enterprise approvals.
Key Facts & System Specifications
High-level architectural blueprint and specification summary of the cert-portal implementation.
| Category | Specification & Architectural Decision |
|---|---|
| Project Type | Enterprise Security & PKI Modernization / Hybrid Cloud Platform |
| Core Architecture | Cloud-Native Serverless Frontend & API + Hybrid Runbook Worker to On-Prem AD CS |
| Primary Users | Developers, DevOps/SysAdmins (Requesters), Security Leads (Approvers), PKI Engineers (Admins) |
| Security Paradigm | Zero-Trust Key Custody: Private keys generated in-browser via WebCrypto; server never sees private keys |
| Identity & Auth | Entra ID (Azure AD) OIDC/PKCE via MSAL.js, App Roles (Admin.Templates.Write, Approver.Requests), gMSA on-prem |
| Frontend Stack | React 18, TypeScript, Vite, Tailwind CSS, shadcn/ui, TanStack Query, React Hook Form + Zod, WebCrypto / PKI.js |
| Backend Stack | Azure Functions v2 (Python 3.11 Flex Consumption FC1), Azure Easy Auth, cryptography library |
| Data & Storage | Azure PostgreSQL Flexible Server (Managed Identity Auth — zero passwords in config), Azure Key Vault |
| Hybrid Orchestration | Azure Automation + Hybrid Runbook Worker (PowerShell 7 / PSPKI / certreq), OAuth daemon webhook callbacks |
| Compliance & Standards | CAB Forum SC31 (397-day validity cap), NIS2 Directive, ISO/IEC 27001 (immutable request-to-issuance audit trail) |
| Infrastructure as Code | Modular Azure Bicep (infra/backend, infra/frontend), Azure DevOps CI/CD |
The Problem vs. The Engineered Solution
Replacing decades-old operational friction and risky certificate workflows with modern cloud-native guardrails.
Legacy PKI Enrollment
Microsoft certsrv- The Antiquated certsrv LegacyDecades-old Microsoft ASP web enrollment tool lacking modern MFA, responsive mobile design, and granular RBAC.
- Server-Side Key Compromise RiskServer-side key generation creates a catastrophic single point of failure and violates ISO 27001 key custody principles.
- Wildcard & Shadow Cert SprawlEngineers routinely issue long-lived wildcard certificates (*.domain.com) without security oversight, creating massive blast radiuses.
- Over-Privileged CA AccessUsers and admins are granted direct enrollment rights on Active Directory Certificate Services (AD CS), bypassing governance.
- Certificate Outages & Compliance GapsExpired certificates cause unexpected downtime, while unlinked issuance records fail modern regulatory audits (NIS2).
Cert-Portal Platform
Zero-Trust & Serverless- Frictionless Self-Service SPAModern React 18 dashboard with standardized templates (Web Server, Code Signing, Client Auth) and real-time schema validation.
- Zero-Trust Browser-Side CryptographyRSA 2048/4096 & ECDSA P-256/384 keypairs and PKCS#10 CSRs are generated inside the browser with native window.crypto.subtle.
- Multi-Channel Approval EngineHigh-risk requests (wildcards / sensitive templates) trigger interactive Microsoft Teams Adaptive Cards and Graph emails.
- Hardened Hybrid Execution (gMSA)Requesters never touch the CA. Enrollments execute via an isolated Group Managed Service Account on Hybrid Runbook Workers.
- Proactive Health & 30-Day MonitorLive status board tracking certificate health with proactive ≤30-day warnings, 1-click renewals, and immutable audit logs.
End-to-End Hybrid System Architecture
Cloud-native frontend and serverless API seamlessly connected to on-premises Microsoft AD CS through hardened hybrid runbook workers.
Certificate Request & Issuance Lifecycle
Core Capabilities Showcase
Production-engineered security primitives and compliance mechanisms built into cert-portal.
Generates asymmetric keypairs (RSA 2048/4096-bit, ECDSA P-256/P-384) and constructs signed PKCS#10 CSRs directly within the browser using WebCrypto (window.crypto.subtle) and pkijs.
Validates CSR subject fields, SAN formatting, key algorithms, and validity periods against declarative template rules before hitting the CA. Automatically extracts Entra ID claims for CodeSigning-UserUPN templates.
Automatically intercepts high-risk certificate requests (wildcard SANs or sensitive templates) and dispatches interactive Microsoft Teams Adaptive Cards and Graph emails to authorized approvers.
Direct enrollment permissions are completely removed from users on AD CS. Requests flow through Azure Automation to an on-premise Hybrid Runbook Worker running strictly under a Group Managed Service Account (gMSA).
Administrative dashboard displaying live certificate health categorized into Valid & Active, Expiring Soon (≤ 30 Days), and Expired / Locked, with 1-click renewal workflows.
Every request, template modification, approval decision, CA submission, and issuance event writes to an append-only, indexed audit_log in Azure PostgreSQL Flexible Server.
Technical Stack & Security Deep-Dive
Component breakdown and enterprise security posture powering the end-to-end platform.
🔐 Security & Identity Architecture Highlights
ManagedIdentityCredential). Zero database passwords or connection strings exist in source code or configuration files.AllowedRequesterGroups), Administrative routes guarded by Admin.Templates.Write, and Approver actions restricted to Approver.Requests.Business Impact & Measurable Outcomes
Quantifiable results achieved by replacing legacy manual certificate enrollment with automated Zero-Trust governance.
cert-portal), featuring full Infrastructure-as-Code (Bicep), automated unit/integration test suites (pytest & Vitest), and enterprise security patterns.