Remove an extra space char in PKIs.tex
[ach-master.git] / src / theory / PKIs.tex
index 1fd462d..abd5fb8 100644 (file)
@@ -12,11 +12,10 @@ Certificate Authorities (CAs) sign end-entities' certificates, thereby
 associating some kind of identity (e.g. a domain name or an email
 address) with a public key. CAs are used with TLS and S/MIME
 certificates, and the CA system has a big list of possible and real
-problems which are summarized in section \ref{sec:hardeningpki} and
-\cite{https13}.
+problems which are summarized in section \ref{sec:hardeningpki} and~\cite{https13}.
 
 The Web of Trust is a decentralized system where people sign each
-others keys, so that there is a high chance that there is a ``trust
+other's keys, so that there is a high chance that there is a ``trust
 path'' from one key to another. This is used with PGP keys, and while
 it avoids most of the problems of the CA system, it is more
 cumbersome.
@@ -64,8 +63,8 @@ tools.  On Unix-like systems, it is likely that the OpenSSL suite is available
 to you.  In this case, you can generate a private key and a corresponding
 certificate request as follows:
 
-\begin{lstlisting}[breaklines]
-% openssl req -new -nodes -keyout <servername>.key -out <servername>.csr -newkey rsa:<keysize>
+\begin{lstlisting}
+% openssl req -new -nodes -keyout <servername>.key -out <servername>.csr -newkey rsa:<keysize> -sha256
 Country Name (2 letter code) [AU]:DE
 State or Province Name (full name) [Some-State]:Bavaria
 Locality Name (eg, city) []:Munich
@@ -97,7 +96,7 @@ following commands on a Debian system:
 % sudo ./CA.pl -newca
 \end{lstlisting}
 
-Answer the questions according to your setup. Now that you have configured your basic settings and 
+Answer the questions according to your setup. Now that you have configured your basic settings and
 issued a new root certificate, you can issue new certificates as follows:
 
 \begin{lstlisting}
@@ -105,7 +104,7 @@ issued a new root certificate, you can issue new certificates as follows:
 % sudo ./CA.pl -newreq
 \end{lstlisting}
 
-Alternatively, software such as TinyCA\cite{Wikipedia:TinyCA} that
+Alternatively, software such as TinyCA~\cite{Wikipedia:TinyCA} that
 acts as a ``wrapper'' around OpenSSL and tries to make life easier is
 available.
 
@@ -118,12 +117,17 @@ CA at all, but is signed by the entity that it is issued to.  Thus, the
 organizational overhead of running a CA is eliminated at the expense of
 having to establish all trust relationships between entities manually.
 
-With OpenSSL, a self-signed certificate may be created with this command:
+With OpenSSL, you can self-sign a previously created certificate with this command:
 
 \begin{lstlisting}
 % openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095
 \end{lstlisting}
 
+You can also create a self-signed certificate in just one command:
+\begin{lstlisting}
+openssl req -new -x509 -keyout privkey.pem -out cacert.pem -days 1095 -nodes -newkey rsa:<keysize> -sha256
+\end{lstlisting}
+
 The resulting certificate will by default not be trusted by anyone at all,
 so in order to be useful, the certificate will have to be made known a
 priori to all parties that may encounter it.
@@ -145,7 +149,7 @@ Therefore several security enhancements were introduced by different
 organizations and vendors~\cite{tschofenig-webpki}. Currently two
 methods are used, DANE~\cite{rfc6698} and Certificate
 Pinning~\cite{draft-ietf-websec-key-pinning}. Google recently proposed
-a new system to detect malicious CAs and certificates  called Certificate 
+a new system to detect malicious CAs and certificates called Certificate
 Transparency~\cite{certtransparency}.
 
 % \subsubsection{DANE}
@@ -168,7 +172,7 @@ Transparency~\cite{certtransparency}.
 % A good background on PKIs can be found in
 % \footnote{\url{https://developer.mozilla.org/en/docs/Introduction_to_Public-Key_Cryptography}}
 % \footnote{\url{http://cacr.uwaterloo.ca/hac/about/chap8.pdf}}
-% \footnote{\url{http://www.verisign.com.au/repository/tutorial/cryptography/intro1.shtml}}
+% \footnote{\url{https://www.verisign.com.au/repository/tutorial/cryptography/intro1.shtml}}
 % .
 
 % \todo{ts: Background and Configuration (EMET) of Certificate Pinning,
@@ -179,4 +183,4 @@ Transparency~\cite{certtransparency}.
 %   plugins: CipherFox, Conspiracy, Perspectives.}
 
 
-% ``Certificate Policy''\cite{Wikipedia:Certificate_Policy} (CA)
+% ``Certificate Policy''~\cite{Wikipedia:Certificate_Policy} (CA)