[{"data":1,"prerenderedAt":490},["ShallowReactive",2],{"navigation_docs":3,"-docs-getting-started-quick-start":86,"-docs-getting-started-quick-start-surround":485},[4,22,31,48,65],{"title":5,"path":6,"stem":7,"children":8,"page":21},"Api","\u002Fdocs\u002Fapi","docs\u002Fapi",[9,13,17],{"title":10,"path":11,"stem":12},"CLI Reference","\u002Fdocs\u002Fapi\u002Fcli-reference","docs\u002Fapi\u002F1.cli-reference",{"title":14,"path":15,"stem":16},"ZMQ Protocol Reference","\u002Fdocs\u002Fapi\u002Fzmq-protocol","docs\u002Fapi\u002F2.zmq-protocol",{"title":18,"path":19,"stem":20},"Error Codes","\u002Fdocs\u002Fapi\u002Ferror-codes","docs\u002Fapi\u002F3.error-codes",false,{"title":23,"path":24,"stem":25,"children":26,"page":21},"Community","\u002Fdocs\u002Fcommunity","docs\u002Fcommunity",[27],{"title":28,"path":29,"stem":30},"Contributing","\u002Fdocs\u002Fcommunity\u002Fcontributing","docs\u002Fcommunity\u002F1.contributing",{"title":32,"path":33,"stem":34,"children":35,"page":21},"Concepts","\u002Fdocs\u002Fconcepts","docs\u002Fconcepts",[36,40,44],{"title":37,"path":38,"stem":39},"Architecture","\u002Fdocs\u002Fconcepts\u002Farchitecture","docs\u002Fconcepts\u002F1.architecture",{"title":41,"path":42,"stem":43},"Certificate Lifecycle","\u002Fdocs\u002Fconcepts\u002Fcertificate-lifecycle","docs\u002Fconcepts\u002F2.certificate-lifecycle",{"title":45,"path":46,"stem":47},"Security Model","\u002Fdocs\u002Fconcepts\u002Fsecurity-model","docs\u002Fconcepts\u002F3.security-model",{"title":49,"path":50,"stem":51,"children":52,"page":21},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002Fgetting-started",[53,57,61],{"title":54,"path":55,"stem":56},"Introduction","\u002Fdocs\u002Fgetting-started\u002Fintroduction","docs\u002Fgetting-started\u002F1.introduction",{"title":58,"path":59,"stem":60},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002Fgetting-started\u002F2.installation",{"title":62,"path":63,"stem":64},"Quick Start","\u002Fdocs\u002Fgetting-started\u002Fquick-start","docs\u002Fgetting-started\u002F3.quick-start",{"title":66,"path":67,"stem":68,"children":69,"page":21},"Guides","\u002Fdocs\u002Fguides","docs\u002Fguides",[70,74,78,82],{"title":71,"path":72,"stem":73},"Configuration","\u002Fdocs\u002Fguides\u002Fconfiguration","docs\u002Fguides\u002F1.configuration",{"title":75,"path":76,"stem":77},"Certificate Profiles","\u002Fdocs\u002Fguides\u002Fcertificate-profiles","docs\u002Fguides\u002F2.certificate-profiles",{"title":79,"path":80,"stem":81},"Docker Deployment","\u002Fdocs\u002Fguides\u002Fdocker-deployment","docs\u002Fguides\u002F3.docker-deployment",{"title":83,"path":84,"stem":85},"Importing an Existing CA","\u002Fdocs\u002Fguides\u002Fimporting-existing-ca","docs\u002Fguides\u002F4.importing-existing-ca",{"id":87,"title":62,"body":88,"description":478,"extension":479,"links":480,"meta":481,"navigation":482,"path":63,"seo":483,"stem":64,"__hash__":484},"docs\u002Fdocs\u002Fgetting-started\u002F3.quick-start.md",{"type":89,"value":90,"toc":470},"minimark",[91,95,99,104,174,181,189,193,225,228,232,264,267,307,311,322,385,389,439,443,466],[92,93,62],"h1",{"id":94},"quick-start",[96,97,98],"p",{},"This guide walks you through initialising uPKI CA, registering it on the network, and issuing your first certificate.",[100,101,103],"h2",{"id":102},"step-1-initialise-the-ca","Step 1 — Initialise the CA",[105,106,111],"pre",{"className":107,"code":108,"language":109,"meta":110,"style":110},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","upki-ca init \\\n  --data-dir \u002Fopt\u002Fupki\u002Fca \\\n  --seed \"a-long-random-passphrase\" \\\n  --common-name \"My Internal CA\"\n","bash","",[112,113,114,131,142,160],"code",{"__ignoreMap":110},[115,116,119,123,127],"span",{"class":117,"line":118},"line",1,[115,120,122],{"class":121},"sBMFI","upki-ca",[115,124,126],{"class":125},"sfazB"," init",[115,128,130],{"class":129},"sTEyZ"," \\\n",[115,132,134,137,140],{"class":117,"line":133},2,[115,135,136],{"class":125},"  --data-dir",[115,138,139],{"class":125}," \u002Fopt\u002Fupki\u002Fca",[115,141,130],{"class":129},[115,143,145,148,152,155,158],{"class":117,"line":144},3,[115,146,147],{"class":125},"  --seed",[115,149,151],{"class":150},"sMK4o"," \"",[115,153,154],{"class":125},"a-long-random-passphrase",[115,156,157],{"class":150},"\"",[115,159,130],{"class":129},[115,161,163,166,168,171],{"class":117,"line":162},4,[115,164,165],{"class":125},"  --common-name",[115,167,151],{"class":150},[115,169,170],{"class":125},"My Internal CA",[115,172,173],{"class":150},"\"\n",[96,175,176,177,180],{},"This creates the CA root key and self-signed root certificate under ",[112,178,179],{},"--data-dir",".",[182,183,184,185,188],"warning",{},"Store the ",[112,186,187],{},"--seed"," securely. It is required to restart the CA and cannot be recovered automatically.",[100,190,192],{"id":191},"step-2-register-the-ca-node","Step 2 — Register the CA node",[105,194,196],{"className":107,"code":195,"language":109,"meta":110,"style":110},"upki-ca register \\\n  --data-dir \u002Fopt\u002Fupki\u002Fca \\\n  --seed \"a-long-random-passphrase\"\n",[112,197,198,207,215],{"__ignoreMap":110},[115,199,200,202,205],{"class":117,"line":118},[115,201,122],{"class":121},[115,203,204],{"class":125}," register",[115,206,130],{"class":129},[115,208,209,211,213],{"class":117,"line":133},[115,210,136],{"class":125},[115,212,139],{"class":125},[115,214,130],{"class":129},[115,216,217,219,221,223],{"class":117,"line":144},[115,218,147],{"class":125},[115,220,151],{"class":150},[115,222,154],{"class":125},[115,224,173],{"class":150},[96,226,227],{},"This step creates the CA's own node certificate used for inter-service authentication.",[100,229,231],{"id":230},"step-3-start-the-ca-daemon","Step 3 — Start the CA daemon",[105,233,235],{"className":107,"code":234,"language":109,"meta":110,"style":110},"upki-ca start \\\n  --data-dir \u002Fopt\u002Fupki\u002Fca \\\n  --seed \"a-long-random-passphrase\"\n",[112,236,237,246,254],{"__ignoreMap":110},[115,238,239,241,244],{"class":117,"line":118},[115,240,122],{"class":121},[115,242,243],{"class":125}," start",[115,245,130],{"class":129},[115,247,248,250,252],{"class":117,"line":133},[115,249,136],{"class":125},[115,251,139],{"class":125},[115,253,130],{"class":129},[115,255,256,258,260,262],{"class":117,"line":144},[115,257,147],{"class":125},[115,259,151],{"class":150},[115,261,154],{"class":125},[115,263,173],{"class":150},[96,265,266],{},"The CA now listens on:",[268,269,270,283],"table",{},[271,272,273],"thead",{},[274,275,276,280],"tr",{},[277,278,279],"th",{},"Port",[277,281,282],{},"Purpose",[284,285,286,297],"tbody",{},[274,287,288,294],{},[289,290,291],"td",{},[112,292,293],{},"5000",[289,295,296],{},"CA operations (sign, revoke, renew…)",[274,298,299,304],{},[289,300,301],{},[112,302,303],{},"5001",[289,305,306],{},"RA registration",[100,308,310],{"id":309},"step-4-issue-a-certificate-via-cli","Step 4 — Issue a certificate (via CLI)",[96,312,313,314,321],{},"Using ",[315,316,320],"a",{"href":317,"rel":318},"https:\u002F\u002Fgithub.com\u002Fcircle-rd\u002Fupki-cli",[319],"nofollow","uPKI CLI",":",[105,323,325],{"className":107,"code":324,"language":109,"meta":110,"style":110},"upki-cli generate \\\n  --host 127.0.0.1 \\\n  --cn \"server.example.internal\" \\\n  --profile server \\\n  --sans \"server.example.internal,192.168.1.10\"\n",[112,326,327,337,348,362,372],{"__ignoreMap":110},[115,328,329,332,335],{"class":117,"line":118},[115,330,331],{"class":121},"upki-cli",[115,333,334],{"class":125}," generate",[115,336,130],{"class":129},[115,338,339,342,346],{"class":117,"line":133},[115,340,341],{"class":125},"  --host",[115,343,345],{"class":344},"sbssI"," 127.0.0.1",[115,347,130],{"class":129},[115,349,350,353,355,358,360],{"class":117,"line":144},[115,351,352],{"class":125},"  --cn",[115,354,151],{"class":150},[115,356,357],{"class":125},"server.example.internal",[115,359,157],{"class":150},[115,361,130],{"class":129},[115,363,364,367,370],{"class":117,"line":162},[115,365,366],{"class":125},"  --profile",[115,368,369],{"class":125}," server",[115,371,130],{"class":129},[115,373,375,378,380,383],{"class":117,"line":374},5,[115,376,377],{"class":125},"  --sans",[115,379,151],{"class":150},[115,381,382],{"class":125},"server.example.internal,192.168.1.10",[115,384,173],{"class":150},[100,386,388],{"id":387},"docker-one-liner","Docker one-liner",[105,390,392],{"className":107,"code":391,"language":109,"meta":110,"style":110},"docker run --rm \\\n  -e UPKI_CA_SEED=\"your-seed\" \\\n  -v \u002Fopt\u002Fupki\u002Fca:\u002Fdata \\\n  ghcr.io\u002Fcircle-rd\u002Fupki-ca:latest\n",[112,393,394,407,424,434],{"__ignoreMap":110},[115,395,396,399,402,405],{"class":117,"line":118},[115,397,398],{"class":121},"docker",[115,400,401],{"class":125}," run",[115,403,404],{"class":125}," --rm",[115,406,130],{"class":129},[115,408,409,412,415,417,420,422],{"class":117,"line":133},[115,410,411],{"class":125},"  -e",[115,413,414],{"class":125}," UPKI_CA_SEED=",[115,416,157],{"class":150},[115,418,419],{"class":125},"your-seed",[115,421,157],{"class":150},[115,423,130],{"class":129},[115,425,426,429,432],{"class":117,"line":144},[115,427,428],{"class":125},"  -v",[115,430,431],{"class":125}," \u002Fopt\u002Fupki\u002Fca:\u002Fdata",[115,433,130],{"class":129},[115,435,436],{"class":117,"line":162},[115,437,438],{"class":125},"  ghcr.io\u002Fcircle-rd\u002Fupki-ca:latest\n",[100,440,442],{"id":441},"next-steps","Next steps",[444,445,446,453,460],"ul",{},[447,448,449,450],"li",{},"Configure ",[315,451,452],{"href":76},"certificate profiles",[447,454,455,456,459],{},"Set up ",[315,457,458],{"href":80},"uPKI RA"," alongside the CA",[447,461,462,463],{},"Read the ",[315,464,465],{"href":15},"ZMQ protocol reference",[467,468,469],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":110,"searchDepth":133,"depth":133,"links":471},[472,473,474,475,476,477],{"id":102,"depth":133,"text":103},{"id":191,"depth":133,"text":192},{"id":230,"depth":133,"text":231},{"id":309,"depth":133,"text":310},{"id":387,"depth":133,"text":388},{"id":441,"depth":133,"text":442},"Initialise your CA and issue your first certificate in minutes.","md",null,{},true,{"title":62,"description":478},"7dBK25LAXqTjtaO_BVDRwLRrj1FYMcO4I-Jgq6pfTOo",[486,488],{"title":58,"path":59,"stem":60,"description":487,"children":-1},"How to install uPKI CA from source, pip, or Docker.",{"title":71,"path":72,"stem":73,"description":489,"children":-1},"Complete reference for ca.config.yml and environment variables.",1775569478524]