<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://tech.uvoo.io/index.php?action=history&amp;feed=atom&amp;title=Pki_openssl</id>
	<title>Pki openssl - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://tech.uvoo.io/index.php?action=history&amp;feed=atom&amp;title=Pki_openssl"/>
	<link rel="alternate" type="text/html" href="https://tech.uvoo.io/index.php?title=Pki_openssl&amp;action=history"/>
	<updated>2026-04-20T21:45:03Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>https://tech.uvoo.io/index.php?title=Pki_openssl&amp;diff=4591&amp;oldid=prev</id>
		<title>Busk: Created page with &quot;https://stackoverflow.com/questions/26759550/how-to-create-own-self-signed-root-certificate-and-intermediate-ca-to-be-importe  root-internmediate-ca.sh ``` #!/bin/bash -x  set...&quot;</title>
		<link rel="alternate" type="text/html" href="https://tech.uvoo.io/index.php?title=Pki_openssl&amp;diff=4591&amp;oldid=prev"/>
		<updated>2023-10-13T17:17:59Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;https://stackoverflow.com/questions/26759550/how-to-create-own-self-signed-root-certificate-and-intermediate-ca-to-be-importe  root-internmediate-ca.sh ``` #!/bin/bash -x  set...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;https://stackoverflow.com/questions/26759550/how-to-create-own-self-signed-root-certificate-and-intermediate-ca-to-be-importe&lt;br /&gt;
&lt;br /&gt;
root-internmediate-ca.sh&lt;br /&gt;
```&lt;br /&gt;
#!/bin/bash -x&lt;br /&gt;
&lt;br /&gt;
set -e&lt;br /&gt;
&lt;br /&gt;
for C in `echo root-ca intermediate`; do&lt;br /&gt;
&lt;br /&gt;
  mkdir $C&lt;br /&gt;
  cd $C&lt;br /&gt;
  mkdir certs crl newcerts private&lt;br /&gt;
  cd ..&lt;br /&gt;
&lt;br /&gt;
  echo 1000 &amp;gt; $C/serial&lt;br /&gt;
  touch $C/index.txt $C/index.txt.attr&lt;br /&gt;
&lt;br /&gt;
  echo '&lt;br /&gt;
[ ca ]&lt;br /&gt;
default_ca = CA_default&lt;br /&gt;
[ CA_default ]&lt;br /&gt;
dir            = '$C'                     # Where everything is kept&lt;br /&gt;
certs          = $dir/certs               # Where the issued certs are kept&lt;br /&gt;
crl_dir        = $dir/crl                 # Where the issued crl are kept&lt;br /&gt;
database       = $dir/index.txt           # database index file.&lt;br /&gt;
new_certs_dir  = $dir/newcerts            # default place for new certs.&lt;br /&gt;
certificate    = $dir/cacert.pem          # The CA certificate&lt;br /&gt;
serial         = $dir/serial              # The current serial number&lt;br /&gt;
crl            = $dir/crl.pem             # The current CRL&lt;br /&gt;
private_key    = $dir/private/ca.key.pem  # The private key&lt;br /&gt;
RANDFILE       = $dir/.rnd                # private random number file&lt;br /&gt;
nameopt        = default_ca&lt;br /&gt;
certopt        = default_ca&lt;br /&gt;
policy         = policy_match&lt;br /&gt;
default_days   = 365&lt;br /&gt;
default_md     = sha256&lt;br /&gt;
&lt;br /&gt;
[ policy_match ]&lt;br /&gt;
countryName            = optional&lt;br /&gt;
stateOrProvinceName    = optional&lt;br /&gt;
organizationName       = optional&lt;br /&gt;
organizationalUnitName = optional&lt;br /&gt;
commonName             = supplied&lt;br /&gt;
emailAddress           = optional&lt;br /&gt;
&lt;br /&gt;
[req]&lt;br /&gt;
req_extensions = v3_req&lt;br /&gt;
distinguished_name = req_distinguished_name&lt;br /&gt;
&lt;br /&gt;
[req_distinguished_name]&lt;br /&gt;
&lt;br /&gt;
[v3_req]&lt;br /&gt;
basicConstraints = CA:TRUE&lt;br /&gt;
' &amp;gt; $C/openssl.conf&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
openssl genrsa -out root-ca/private/ca.key 2048&lt;br /&gt;
openssl req -config root-ca/openssl.conf -new -x509 -days 3650 -key root-ca/private/ca.key -sha256 -extensions v3_req -out root-ca/certs/ca.crt -subj '/CN=Root-ca'&lt;br /&gt;
&lt;br /&gt;
openssl genrsa -out intermediate/private/intermediate.key 2048&lt;br /&gt;
openssl req -config intermediate/openssl.conf -sha256 -new -key intermediate/private/intermediate.key -out intermediate/certs/intermediate.csr -subj '/CN=Interm.'&lt;br /&gt;
openssl ca -batch -config root-ca/openssl.conf -keyfile root-ca/private/ca.key -cert root-ca/certs/ca.crt -extensions v3_req -notext -md sha256 -in intermediate/certs/intermediate.csr -out intermediate/certs/intermediate.crt&lt;br /&gt;
&lt;br /&gt;
mkdir out&lt;br /&gt;
&lt;br /&gt;
for I in `seq 1 3` ; do&lt;br /&gt;
  openssl req -new -keyout out/$I.key -out out/$I.request -days 365 -nodes -subj &amp;quot;/CN=$I.example.com&amp;quot; -newkey rsa:2048&lt;br /&gt;
  openssl ca -batch -config root-ca/openssl.conf -keyfile intermediate/private/intermediate.key -cert intermediate/certs/intermediate.crt -out out/$I.crt -infiles out/$I.request&lt;br /&gt;
done&lt;br /&gt;
```&lt;/div&gt;</summary>
		<author><name>Busk</name></author>
	</entry>
</feed>