<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>SSL on private Homepage von Rainer Rose</title>
    <link>https://www.rainerrose.de/tags/ssl/</link>
    <description>Recent content in SSL on private Homepage von Rainer Rose</description>
    <generator>Hugo</generator>
    <language>de</language>
    <copyright>Copyright © 1998-2026 Rainer Rose. All Rights Reserved.
</copyright>
    <lastBuildDate>Thu, 08 Jun 2023 17:42:10 +0200</lastBuildDate><atom:link href="https://www.rainerrose.de/tags/ssl/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>SSL / TLS</title>
      <link>https://www.rainerrose.de/docs/howto/ssl/</link>
      <pubDate>Thu, 08 Jun 2023 17:42:10 +0200</pubDate>
      <guid>https://www.rainerrose.de/docs/howto/ssl/</guid>
      <description><![CDATA[<!-- Anreißer -->
<p>Ein paar Befehle, die ich immer wieder im Umfeld von TLS bzw. SSL benötige.</p>

<h2 id="selbst-signiertes-zertifikat" data-numberify>selbst signiertes Zertifikat<a class="anchor ms-1" href="#selbst-signiertes-zertifikat"></a></h2>
<p>Alles erstellen (CSR, private key, sign) in einem Schritt:</p>]]></description>
      <content:encoded><![CDATA[<!-- Anreißer -->
<p>Ein paar Befehle, die ich immer wieder im Umfeld von TLS bzw. SSL benötige.</p>

<h2 id="selbst-signiertes-zertifikat" data-numberify>selbst signiertes Zertifikat<a class="anchor ms-1" href="#selbst-signiertes-zertifikat"></a></h2>
<p>Alles erstellen (CSR, private key, sign) in einem Schritt:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">openssl req -new -days <span class="m">999</span> -newkey rsa:4096bits -sha512 -x509 -nodes -out server.crt -keyout server.key
</span></span></code></pre></div>
<blockquote class="alert alert-success" role="alert">
    <p class="alert-heading fw-bold">
      <i class="fas fa-lightbulb me-2"></i>Hinweis
    </p>
    <p>Die <code>999</code> Tage sollte man ggf. ändern. Dateien werden überschrieben, also Obacht!</p>
</blockquote>

<h2 id="öffentlichen--privaten-schlüssel-extrahieren-pkcs12" data-numberify>öffentlichen / privaten Schlüssel extrahieren (PKCS12)<a class="anchor ms-1" href="#öffentlichen--privaten-schlüssel-extrahieren-pkcs12"></a></h2>

<h3 id="privater-schlüssel" data-numberify>privater Schlüssel<a class="anchor ms-1" href="#privater-schlüssel"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">openssl pkcs12 -in P12Datei.pfx -nocerts -out privateKey.pem
</span></span></code></pre></div>
<h3 id="öffentlicher-schlüssel--zertifikat" data-numberify>öffentlicher Schlüssel / Zertifikat<a class="anchor ms-1" href="#öffentlicher-schlüssel--zertifikat"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">openssl pkcs12 -in P12Datei.pfx -clcerts -nokeys -out publicKey.pem
</span></span></code></pre></div>
<h3 id="zertifikat-als-plain-text-ausgeben--infos-anzeigen" data-numberify>Zertifikat als plain-text ausgeben / Infos anzeigen<a class="anchor ms-1" href="#zertifikat-als-plain-text-ausgeben--infos-anzeigen"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">openssl  x509 -noout -text -purpose -in Zertifikat.pem 
</span></span></code></pre></div>
<h3 id="aufbau-datei" data-numberify>Aufbau Datei<a class="anchor ms-1" href="#aufbau-datei"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="ln">1</span><span class="cl">-----BEGIN CERTIFICATE----
</span></span><span class="line"><span class="ln">2</span><span class="cl">... eigentliches Zertifikat ... 
</span></span><span class="line"><span class="ln">3</span><span class="cl">-----END CERTIFICATE-----
</span></span></code></pre></div>
<h2 id="konvertieren" data-numberify>Konvertieren<a class="anchor ms-1" href="#konvertieren"></a></h2>

<h3 id="pem-nach-der" data-numberify>PEM nach DER<a class="anchor ms-1" href="#pem-nach-der"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">openssl x509 -outform der -in Zertfikikat.pem -out Zertfikikat.der
</span></span></code></pre></div>
<h3 id="pem-nach-p7b" data-numberify>PEM nach P7B<a class="anchor ms-1" href="#pem-nach-p7b"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">openssl crl2pkcs7 -nocrl -certfile Zertfikikat.cer -out Zertfikikat.p7b -certfile CAZertifikat.cer
</span></span></code></pre></div>
<h3 id="pem-nach-pfx" data-numberify>PEM nach PFX<a class="anchor ms-1" href="#pem-nach-pfx"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">openssl pkcs12 -export -out Zertfikikat.pfx -inkey privateKey.key -in Zertfikikat.crt -certfile CAZertifikat.crt
</span></span></code></pre></div>
<h3 id="der-nach-pem" data-numberify>DER nach PEM<a class="anchor ms-1" href="#der-nach-pem"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">openssl x509 -inform der -in Zertfikikat.cer -out Zertfikikat.pem
</span></span></code></pre></div>
<h3 id="p7b-nach-pem" data-numberify>P7B nach PEM<a class="anchor ms-1" href="#p7b-nach-pem"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">openssl pkcs7 -print_certs -in Zertfikikat.p7b -out Zertfikikat.cer
</span></span></code></pre></div>
<h3 id="pfxpkcs12-nach-pem" data-numberify>PFX(PKCS#12) nach PEM<a class="anchor ms-1" href="#pfxpkcs12-nach-pem"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">openssl pkcs12 -in Zertfikikat.pfx -nodes -out Zertfikikat.cer
</span></span></code></pre></div>
<h2 id="dhparam-erzeugen" data-numberify>dhparam erzeugen<a class="anchor ms-1" href="#dhparam-erzeugen"></a></h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl">openssl dhparam -out /etc/ssl/dhparam.pem <span class="m">4096</span>
</span></span></code></pre></div>
<h2 id="changelog" data-numberify>Changelog<a class="anchor ms-1" href="#changelog"></a></h2>
<table>
  <thead>
      <tr>
          <th>Datum</th>
          <th>Änderung</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>27.03.2025</td>
          <td>dhparam erzeugen</td>
      </tr>
  </tbody>
</table>]]></content:encoded>
    </item>
    
  </channel>
</rss>

