<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.umiacs.umd.edu/adapt/index.php?action=history&amp;feed=atom&amp;title=Tutorials%3ACreateCertAuth</id>
	<title>Tutorials:CreateCertAuth - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.umiacs.umd.edu/adapt/index.php?action=history&amp;feed=atom&amp;title=Tutorials%3ACreateCertAuth"/>
	<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/adapt/index.php?title=Tutorials:CreateCertAuth&amp;action=history"/>
	<updated>2026-04-05T16:55:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.7</generator>
	<entry>
		<id>https://wiki.umiacs.umd.edu/adapt/index.php?title=Tutorials:CreateCertAuth&amp;diff=1967&amp;oldid=prev</id>
		<title>Scsong at 23:15, 11 September 2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/adapt/index.php?title=Tutorials:CreateCertAuth&amp;diff=1967&amp;oldid=prev"/>
		<updated>2008-09-11T23:15:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 23:15, 11 September 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;__NOTOC__&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Setting up CA and certificates==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Setting up CA and certificates==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Scsong</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/adapt/index.php?title=Tutorials:CreateCertAuth&amp;diff=1966&amp;oldid=prev</id>
		<title>Scsong at 23:14, 11 September 2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/adapt/index.php?title=Tutorials:CreateCertAuth&amp;diff=1966&amp;oldid=prev"/>
		<updated>2008-09-11T23:14:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Setting up CA and certificates==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Create CA Directories===&lt;br /&gt;
&lt;br /&gt;
This example assumes ~/ssl will contain all certificates and private keys. You should probably delete client keys after creation and&lt;br /&gt;
distribution of the pkcs12 keystore. If you want to create new clients, just go to the creating client section down below. If you need a keystore w/ additional certificates in it. You should create your own pem files w/ all required certs.&lt;br /&gt;
&lt;br /&gt;
The CA below has been copied into naraapp:~naraapp/ssl , w/ the cacart using the same password as the account. Client and producer keystores are also in the directory w/ passwords client and producer respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[toaster@loach ~/ssl]$ mkdir ssl&lt;br /&gt;
[toaster@loach ~/ssl]$ cd ssl&lt;br /&gt;
[toaster@loach ~/ssl]$ touch index.txt&lt;br /&gt;
[toaster@loach ~/ssl]$ echo 100001 &amp;gt; serial&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Download the openssl.cnf listed below and put it in this directory&lt;br /&gt;
&lt;br /&gt;
===Create CA Certificate===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[toaster@loach ~/ssl]$  openssl req -new -x509 -extensions v3_ca -keyout private/cakey.pem -out cacert.pem -days 365 -config openssl.cnf &lt;br /&gt;
Generating a 1024 bit RSA private key&lt;br /&gt;
....................................++++++&lt;br /&gt;
...........++++++&lt;br /&gt;
writing new private key to &amp;#039;private/cakey.pem&amp;#039;&lt;br /&gt;
Enter PEM pass phrase:&lt;br /&gt;
Verifying - Enter PEM pass phrase:&lt;br /&gt;
-----&lt;br /&gt;
You are about to be asked to enter information that will be incorporated&lt;br /&gt;
into your certificate request.&lt;br /&gt;
What you are about to enter is what is called a Distinguished Name or a DN.&lt;br /&gt;
There are quite a few fields but you can leave some blank&lt;br /&gt;
For some fields there will be a default value,&lt;br /&gt;
If you enter &amp;#039;.&amp;#039;, the field will be left blank.&lt;br /&gt;
-----&lt;br /&gt;
Country Name (2 letter code) [US]:&lt;br /&gt;
State or Province Name (full name) [Maryland]:&lt;br /&gt;
Locality Name (eg, city) [College Park]:&lt;br /&gt;
Organization Name (eg, company) [UMIACS]:&lt;br /&gt;
Organizational Unit Name (eg, section) []:ADAPT CA&lt;br /&gt;
Common Name (eg, your name or your server&amp;#039;s hostname) []:Adapt Project CA&lt;br /&gt;
Email Address []:toaster@umiacs.umd.edu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Create Producer keystore===&lt;br /&gt;
&lt;br /&gt;
Generate producer pub/priv key&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[toaster@loach ~/ssl]$ openssl req -new -nodes -out producer-req.pem -keyout private/producer-key.pem -days 365 -config ./openssl.cnf&lt;br /&gt;
Generating a 1024 bit RSA private key&lt;br /&gt;
.....................................++++++&lt;br /&gt;
.........................++++++&lt;br /&gt;
writing new private key to &amp;#039;private/producer-key.pem&amp;#039;&lt;br /&gt;
-----&lt;br /&gt;
You are about to be asked to enter information that will be incorporated&lt;br /&gt;
into your certificate request.&lt;br /&gt;
What you are about to enter is what is called a Distinguished Name or a DN.&lt;br /&gt;
There are quite a few fields but you can leave some blank&lt;br /&gt;
For some fields there will be a default value,&lt;br /&gt;
If you enter &amp;#039;.&amp;#039;, the field will be left blank.&lt;br /&gt;
-----&lt;br /&gt;
Country Name (2 letter code) [US]:&lt;br /&gt;
State or Province Name (full name) [Maryland]:&lt;br /&gt;
Locality Name (eg, city) [College Park]:&lt;br /&gt;
Organization Name (eg, company) [UMIACS]:&lt;br /&gt;
Organizational Unit Name (eg, section) []:PAWN Producer&lt;br /&gt;
Common Name (eg, your name or your server&amp;#039;s hostname) []:Pawn Producer&lt;br /&gt;
Email Address []:toaster@umiacs.umd.edu&lt;br /&gt;
&lt;br /&gt;
Please enter the following &amp;#039;extra&amp;#039; attributes&lt;br /&gt;
to be sent with your certificate request&lt;br /&gt;
A challenge password []:&lt;br /&gt;
An optional company name []:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now it&amp;#039;s time to sign the certificate&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[toaster@loach ~/ssl]$ openssl ca -out producer-cert.pem -days 365 -config ./openssl.cnf -infiles producer-req.pem&lt;br /&gt;
Using configuration from ./openssl.cnf&lt;br /&gt;
Enter pass phrase for ./private/cakey.pem:&lt;br /&gt;
Check that the request matches the signature&lt;br /&gt;
Signature ok&lt;br /&gt;
Certificate Details:&lt;br /&gt;
        Serial Number: 1048577 (0x100001)&lt;br /&gt;
        Validity&lt;br /&gt;
            Not Before: Jul 21 21:19:32 2005 GMT&lt;br /&gt;
            Not After : Jul 21 21:19:32 2006 GMT&lt;br /&gt;
        Subject:&lt;br /&gt;
            countryName               = US&lt;br /&gt;
            stateOrProvinceName       = Maryland&lt;br /&gt;
            organizationName          = UMIACS&lt;br /&gt;
            organizationalUnitName    = PAWN Producer&lt;br /&gt;
            commonName                = Pawn Producer&lt;br /&gt;
            emailAddress              = toaster@umiacs.umd.edu&lt;br /&gt;
        X509v3 extensions:&lt;br /&gt;
            X509v3 Basic Constraints: &lt;br /&gt;
            CA:FALSE&lt;br /&gt;
            Netscape Comment: &lt;br /&gt;
            OpenSSL Generated Certificate&lt;br /&gt;
            X509v3 Subject Key Identifier: &lt;br /&gt;
            7A:20:C4:91:8A:67:F4:21:A5:8F:8D:B8:92:BE:02:61:34:4F:02:02&lt;br /&gt;
            X509v3 Authority Key Identifier: &lt;br /&gt;
            keyid:1B:99:B9:92:09:0E:37:68:36:1B:67:7C:4D:27:3F:39:2B:79:84:95&lt;br /&gt;
            DirName:/C=US/ST=Maryland/L=College Park/O=UMIACS/OU=ADAPT CA/CN=Ada&lt;br /&gt;
pt Project CA/emailAddress=toaster@umiacs.umd.edu&lt;br /&gt;
            serial:00&lt;br /&gt;
&lt;br /&gt;
Certificate is to be certified until Jul 21 21:19:32 2006 GMT (365 days)&lt;br /&gt;
Sign the certificate? [y/n]:y&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1 out of 1 certificate requests certified, commit? [y/n]y&lt;br /&gt;
Write out database with 1 new entries&lt;br /&gt;
Data Base Updated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create the producer&amp;#039;s keystore. Due to java&amp;#039;s requirements that all items in a keystore have names (trusted certs...) We label the CA certificate cacert, and the producer&amp;#039;s certificate producer. You can change this on the server if you want to use other alias names. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[toaster@loach ~/ssl]$ openssl pkcs12 -export -in producer-cert.pem -inkey private/producer-key.pem \ &lt;br /&gt;
-certfile cacert.pem -caname cacert -name &amp;quot;producer&amp;quot; -out producer.p12&lt;br /&gt;
&lt;br /&gt;
Enter Export Password:&lt;br /&gt;
Verifying - Enter Export Password:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, we create a cert file that has both the ca and producer certificates. This is used when generating client keystores&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[toaster@loach ~/ssl]$ cp cacert.pem ca-producer.pem&lt;br /&gt;
[toaster@loach ~/ssl]$ cat newcerts/producer.pem &amp;gt;&amp;gt; ca-producer.pem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Create Client keystores===&lt;br /&gt;
&lt;br /&gt;
Client keystore&amp;#039;s are almost identical, except they contain an extra certificate for the producer they are connected to. This allows the client to verify the authenticity of generated SAML certificated to prevent man-in-the-middle attacks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[toaster@loach ~/ssl]$ openssl req -new -nodes -out client-req.pem -keyout private/client-key.pem -days 365 -config ./openssl.cnf&lt;br /&gt;
Generating a 1024 bit RSA private key&lt;br /&gt;
......................++++++&lt;br /&gt;
..................++++++&lt;br /&gt;
writing new private key to &amp;#039;private/client-key.pem&amp;#039;&lt;br /&gt;
-----&lt;br /&gt;
You are about to be asked to enter information that will be incorporated&lt;br /&gt;
into your certificate request.&lt;br /&gt;
What you are about to enter is what is called a Distinguished Name or a DN.&lt;br /&gt;
There are quite a few fields but you can leave some blank&lt;br /&gt;
For some fields there will be a default value,&lt;br /&gt;
If you enter &amp;#039;.&amp;#039;, the field will be left blank.&lt;br /&gt;
-----&lt;br /&gt;
Country Name (2 letter code) [US]:&lt;br /&gt;
State or Province Name (full name) [Maryland]:&lt;br /&gt;
Locality Name (eg, city) [College Park]:&lt;br /&gt;
Organization Name (eg, company) [UMIACS]:&lt;br /&gt;
Organizational Unit Name (eg, section) []:PAWN Client&lt;br /&gt;
Common Name (eg, your name or your server&amp;#039;s hostname) []:Pawn Client&lt;br /&gt;
Email Address []:toaster@umiacs.umd.edu&lt;br /&gt;
&lt;br /&gt;
Please enter the following &amp;#039;extra&amp;#039; attributes&lt;br /&gt;
to be sent with your certificate request&lt;br /&gt;
A challenge password []:&lt;br /&gt;
An optional company name []:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now sign it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[toaster@loach ~/ssl]$ openssl ca -out client-cert.pem -days 365 -config ./openssl.cnf -infiles client-req.pem&lt;br /&gt;
Using configuration from ./openssl.cnf&lt;br /&gt;
Enter pass phrase for ./private/cakey.pem:&lt;br /&gt;
Check that the request matches the signature&lt;br /&gt;
Signature ok&lt;br /&gt;
Certificate Details:&lt;br /&gt;
        Serial Number: 1048578 (0x100002)&lt;br /&gt;
        Validity&lt;br /&gt;
            Not Before: Jul 21 21:25:50 2005 GMT&lt;br /&gt;
            Not After : Jul 21 21:25:50 2006 GMT&lt;br /&gt;
        Subject:&lt;br /&gt;
            countryName               = US&lt;br /&gt;
            stateOrProvinceName       = Maryland&lt;br /&gt;
            organizationName          = UMIACS&lt;br /&gt;
            organizationalUnitName    = PAWN Client&lt;br /&gt;
            commonName                = Pawn Client&lt;br /&gt;
            emailAddress              = toaster@umiacs.umd.edu&lt;br /&gt;
        X509v3 extensions:&lt;br /&gt;
            X509v3 Basic Constraints: &lt;br /&gt;
            CA:FALSE&lt;br /&gt;
            Netscape Comment: &lt;br /&gt;
            OpenSSL Generated Certificate&lt;br /&gt;
            X509v3 Subject Key Identifier: &lt;br /&gt;
            6C:10:B8:0D:08:72:63:15:29:69:B9:2F:9C:CB:C2:50:DF:C4:F7:D0&lt;br /&gt;
            X509v3 Authority Key Identifier: &lt;br /&gt;
            keyid:1B:99:B9:92:09:0E:37:68:36:1B:67:7C:4D:27:3F:39:2B:79:84:95&lt;br /&gt;
            DirName:/C=US/ST=Maryland/L=College Park/O=UMIACS/OU=ADAPT CA/CN=Adapt Project CA/emailAddress=toaster@umiacs.umd.edu&lt;br /&gt;
            serial:00&lt;br /&gt;
&lt;br /&gt;
Certificate is to be certified until Jul 21 21:25:50 2006 GMT (365 days)&lt;br /&gt;
Sign the certificate? [y/n]:y&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1 out of 1 certificate requests certified, commit? [y/n]y&lt;br /&gt;
Write out database with 1 new entries&lt;br /&gt;
Data Base Updated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Build the keystore w/ ca and producer&amp;#039;s certs in addition to local keys&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[toaster@loach ~/ssl]$ openssl pkcs12 -export -in client-cert.pem -inkey private/client-key.pem -certfile ca-producer.pem \&lt;br /&gt;
-caname cacert -caname producer -name &amp;quot;client&amp;quot; -out client.p12&lt;br /&gt;
&lt;br /&gt;
Enter Export Password:&lt;br /&gt;
Verifying - Enter Export Password:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- Main.MikeSmorul - 21 Jul 2005&lt;/div&gt;</summary>
		<author><name>Scsong</name></author>
	</entry>
</feed>