avatarProf Bill Buchanan OBE

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

19107

Abstract

"hljs-number">0</span> ]
<span class="hljs-number">10</span><span class="hljs-string">:d=3</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">1 prim:</span> <span class="hljs-string">INTEGER</span> <span class="hljs-string">:02</span> <span class="hljs-number">13</span><span class="hljs-string">:d=2</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">20 prim:</span> <span class="hljs-string">INTEGER</span> <span class="hljs-string">:0BB04913D0D952AF2206DC5C5ECEF7841A73B1B1</span> <span class="hljs-number">35</span><span class="hljs-string">:d=2</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">13 cons:</span> <span class="hljs-string">SEQUENCE</span>
<span class="hljs-number">37</span><span class="hljs-string">:d=3</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">9 prim:</span> <span class="hljs-string">OBJECT</span> <span class="hljs-string">:sha256WithRSAEncryption</span> <span class="hljs-number">48</span><span class="hljs-string">:d=3</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">0 prim:</span> <span class="hljs-literal">NULL</span>
<span class="hljs-number">50</span><span class="hljs-string">:d=2</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">22 cons:</span> <span class="hljs-string">SEQUENCE</span>
<span class="hljs-number">52</span><span class="hljs-string">:d=3</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">20 cons:</span> <span class="hljs-string">SET</span>
<span class="hljs-number">54</span><span class="hljs-string">:d=4</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">18 cons:</span> <span class="hljs-string">SEQUENCE</span>
<span class="hljs-number">56</span><span class="hljs-string">:d=5</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">3 prim:</span> <span class="hljs-string">OBJECT</span> <span class="hljs-string">:commonName</span> <span class="hljs-number">61</span><span class="hljs-string">:d=5</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">11 prim:</span> <span class="hljs-string">UTF8STRING</span> <span class="hljs-string">:example.com</span> <span class="hljs-number">74</span><span class="hljs-string">:d=2</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">30 cons:</span> <span class="hljs-string">SEQUENCE</span>
<span class="hljs-number">76</span><span class="hljs-string">:d=3</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">13 prim:</span> <span class="hljs-string">UTCTIME</span> <span class="hljs-string">:231217203509Z</span> <span class="hljs-number">91</span><span class="hljs-string">:d=3</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">13 prim:</span> <span class="hljs-string">UTCTIME</span> <span class="hljs-string">:331214203509Z</span> <span class="hljs-number">106</span><span class="hljs-string">:d=2</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">22 cons:</span> <span class="hljs-string">SEQUENCE</span>
<span class="hljs-number">108</span><span class="hljs-string">:d=3</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">20 cons:</span> <span class="hljs-string">SET</span>
<span class="hljs-number">110</span><span class="hljs-string">:d=4</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">18 cons:</span> <span class="hljs-string">SEQUENCE</span>
<span class="hljs-number">112</span><span class="hljs-string">:d=5</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">3 prim:</span> <span class="hljs-string">OBJECT</span> <span class="hljs-string">:commonName</span> <span class="hljs-number">117</span><span class="hljs-string">:d=5</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">11 prim:</span> <span class="hljs-string">UTF8STRING</span> <span class="hljs-string">:example.com</span> <span class="hljs-number">130</span><span class="hljs-string">:d=2</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">92 cons:</span> <span class="hljs-string">SEQUENCE</span>
<span class="hljs-number">132</span><span class="hljs-string">:d=3</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">13 cons:</span> <span class="hljs-string">SEQUENCE</span>
<span class="hljs-number">134</span><span class="hljs-string">:d=4</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">9 prim:</span> <span class="hljs-string">OBJECT</span> <span class="hljs-string">:rsaEncryption</span> <span class="hljs-number">145</span><span class="hljs-string">:d=4</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">0 prim:</span> <span class="hljs-literal">NULL</span>
<span class="hljs-number">147</span><span class="hljs-string">:d=3</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">75 prim:</span> <span class="hljs-string">BIT</span> <span class="hljs-string">STRING</span>
<span class="hljs-number">0000</span> <span class="hljs-bullet">-</span> <span class="hljs-number">00</span> <span class="hljs-number">30</span> <span class="hljs-number">48</span> <span class="hljs-number">02</span> <span class="hljs-number">41</span> <span class="hljs-number">00</span> <span class="hljs-string">d7</span> <span class="hljs-string">d8-ac</span> <span class="hljs-number">84</span> <span class="hljs-number">81</span> <span class="hljs-string">f1</span> <span class="hljs-string">2a</span> <span class="hljs-number">31</span> <span class="hljs-string">d9</span> <span class="hljs-number">91</span> <span class="hljs-string">.0H.A.......1..</span> <span class="hljs-number">0010</span> <span class="hljs-bullet">-</span> <span class="hljs-string">e1</span> <span class="hljs-string">7b</span> <span class="hljs-string">ea</span> <span class="hljs-number">62</span> <span class="hljs-string">df</span> <span class="hljs-number">27</span> <span class="hljs-number">52</span> <span class="hljs-string">ba-1a</span> <span class="hljs-number">41</span> <span class="hljs-number">46</span> <span class="hljs-string">7b</span> <span class="hljs-number">07</span> <span class="hljs-number">39</span> <span class="hljs-number">67</span> <span class="hljs-string">8d</span> <span class="hljs-string">.{.b.'R..AF{.9g.</span> <span class="hljs-number">0020</span> <span class="hljs-bullet">-</span> <span class="hljs-number">72</span> <span class="hljs-number">16</span> <span class="hljs-string">d8</span> <span class="hljs-string">0e</span> <span class="hljs-string">c6</span> <span class="hljs-number">61</span> <span class="hljs-string">2a</span> <span class="hljs-number">90</span><span class="hljs-string">-a3</span> <span class="hljs-number">13</span> <span class="hljs-string">4f</span> <span class="hljs-string">af</span> <span class="hljs-string">c9</span> <span class="hljs-number">96</span> <span class="hljs-string">4c</span> <span class="hljs-number">26</span> <span class="hljs-string">r....a...O...L.</span> <span class="hljs-number">0030</span> <span class="hljs-bullet">-</span> <span class="hljs-string">4b</span> <span class="hljs-number">95</span> <span class="hljs-string">be</span> <span class="hljs-number">44</span> <span class="hljs-number">07</span> <span class="hljs-string">9c</span> <span class="hljs-number">76</span> <span class="hljs-number">03</span><span class="hljs-number">-51</span> <span class="hljs-string">a8</span> <span class="hljs-string">9f</span> <span class="hljs-number">02</span> <span class="hljs-number">04</span> <span class="hljs-number">43</span> <span class="hljs-string">af</span> <span class="hljs-number">61</span> <span class="hljs-string">K..D..v.Q....C.a</span> <span class="hljs-number">0040</span> <span class="hljs-bullet">-</span> <span class="hljs-string">f4</span> <span class="hljs-number">23</span> <span class="hljs-number">43</span> <span class="hljs-string">e3</span> <span class="hljs-string">ff</span> <span class="hljs-number">11</span> <span class="hljs-number">02</span> <span class="hljs-number">03</span><span class="hljs-number">-01</span> <span class="hljs-number">00</span> <span class="hljs-number">01</span> <span class="hljs-string">.#C........</span> <span class="hljs-number">224</span><span class="hljs-string">:d=2</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">112 cons:</span> <span class="hljs-string">cont</span> [ <span class="hljs-number">3</span> ]
<span class="hljs-number">226</span><span class="hljs-string">:d=3</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">110 cons:</span> <span class="hljs-string">SEQUENCE</span>
<span class="hljs-number">228</span><span class="hljs-string">:d=4</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">29 cons:</span> <span class="hljs-string">SEQUENCE</span>
<span class="hljs-number">230</span><span class="hljs-string">:d=5</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">3 prim:</span> <span class="hljs-string">OBJECT</span> <span class="hljs-string">:X509v3</span> <span class="hljs-string">Subject</span> <span class="hljs-string">Key</span> <span class="hljs-string">Identifier</span> <span class="hljs-number">235</span><span class="hljs-string">:d=5</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">22 prim:</span> <span class="hljs-string">OCTET</span> <span class="hljs-string">STRING</span>
<span class="hljs-number">0000</span> <span class="hljs-bullet">-</span> <span class="hljs-number">04</span> <span class="hljs-number">14</span> <span class="hljs-string">c1</span> <span class="hljs-number">74</span> <span class="hljs-number">42</span> <span class="hljs-string">4b</span> <span class="hljs-string">bb</span> <span class="hljs-string">3b-f5</span> <span class="hljs-string">d1</span> <span class="hljs-number">54</span> <span class="hljs-number">20</span> <span class="hljs-string">6e</span> <span class="hljs-string">9b</span> <span class="hljs-string">b1</span> <span class="hljs-string">ad</span> <span class="hljs-string">...tBK.;..T</span> <span class="hljs-string">n...</span> <span class="hljs-number">0010</span> <span class="hljs-bullet">-</span> <span class="hljs-string">a8</span> <span class="hljs-number">28</span> <span class="hljs-string">f7</span> <span class="hljs-string">c0</span> <span class="hljs-string">5a</span> <span class="hljs-string">d6</span> <span class="hljs-string">.(..Z.</span> <span class="hljs-number">259</span><span class="hljs-string">:d=4</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">31 cons:</span> <span class="hljs-string">SEQUENCE</span>
<span class="hljs-number">261</span><span class="hljs-string">:d=5</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">3 prim:</span> <span class="hljs-string">OBJECT</span> <span class="hljs-string">:X509v3</span> <span class="hljs-string">Authority</span> <span class="hljs-string">Key</span> <span class="hljs-string">Identifier</span> <span class="hljs-number">266</span><span class="hljs-string">:d=5</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">24 prim:</span> <span class="hljs-string">OCTET</span> <span class="hljs-string">STRING</span>
<span class="hljs-number">0000</span> <span class="hljs-bullet">-</span> <span class="hljs-number">30</span> <span class="hljs-number">16</span> <span class="hljs-number">80</span> <span class="hljs-number">14</span> <span class="hljs-string">c1</span> <span class="hljs-number">74</span> <span class="hljs-number">42</span> <span class="hljs-string">4b-bb</span> <span class="hljs-string">3b</span> <span class="hljs-string">f5</span> <span class="hljs-string">d1</span> <span class="hljs-number">54</span> <span class="hljs-number">20</span> <span class="hljs-string">6e</span> <span class="hljs-string">9b</span> <span class="hljs-number">0</span><span class="hljs-string">....tBK.;..T</span> <span class="hljs-string">n.</span> <span class="hljs-number">0010</span> <span class="hljs-bullet">-</span> <span class="hljs-string">b1</span> <span class="hljs-string">ad</span> <span class="hljs-string">a8</span> <span class="hljs-number">28</span> <span class="hljs-string">f7</span> <span class="hljs-string">c0</span> <span class="hljs-string">5a</span> <span class="hljs-string">d6-</span> <span class="hljs-string">...(..Z.</span> <span class="hljs-number">292</span><span class="hljs-string">:d=4</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">15 cons:</span> <span class="hljs-string">SEQUENCE</span>
<span class="hljs-number">294</span><span class="hljs-string">:d=5</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">3 prim:</span> <span class="hljs-string">OBJECT</span> <span class="hljs-string">:X509v3</span> <span class="hljs-string">Basic</span> <span class="hljs-string">Constraints</span> <span class="hljs-number">299</span><span class="hljs-string">:d=5</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">1 prim:</span> <span class="hljs-string">BOOLEAN</span> <span class="hljs-string">:255</span> <span class="hljs-number">302</span><span class="hljs-string">:d=5</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">5 prim:</span> <span class="hljs-string">OCTET</span> <span class="hljs-string">STRING</span>
<span class="hljs-number">0000</span> <span class="hljs-bullet">-</span> <span class="hljs-number">30</span> <span class="hljs-number">03</span> <span class="hljs-number">01</span> <span class="hljs-number">01</span> <span class="hljs-string">ff</span> <span class="hljs-number">0</span><span class="hljs-string">....</span> <span class="hljs-number">309</span><span class="hljs-string">:d=4</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">27 cons:</span> <span class="hljs-string">SEQUENCE</span>
<span class="hljs-number">311</span><span class="hljs-string">:d=5</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">3 prim:</span> <span class="hljs-string">OBJECT</span> <span class="hljs-string">:X509v3</span> <span class="hljs-string">Subject</span> <span class="hljs-string">Alternative</span> <span class="hljs-string">Name</span> <span class="hljs-number">316</span><span class="hljs-string">:d=5</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">20 prim:</span> <span class="hljs-string">OCTET</span> <span class="hljs-string">STRING</span>
<span class="hljs-number">0000</span> <span class="hljs-bullet">-</span> <span class="hljs-number">30</span> <span class="hljs-number">12</span> <span class="hljs-number">82</span> <span class="hljs-string">0b</span> <span class="hljs-number">65</span> <span class="hljs-number">78</span> <span class="hljs-number">61</span> <span class="hljs-string">6d-70</span> <span class="hljs-string">6c</span> <span class="hljs-number">65</span> <span class="hljs-string">2e</span> <span class="hljs-number">63</span> <span class="hljs-string">6f</span> <span class="hljs-string">6d</span> <span class="hljs-number">82</span> <span class="hljs-number">0</span><span class="hljs-string">...example.com.</span> <span class="hljs-number">0010</span> <span class="hljs-bullet">-</span> <span class="hljs-number">03</span> <span class="hljs-string">2a</span> <span class="hljs-string">2e</span> <span class="hljs-number">34</span> <span class="hljs-string">.*.4</span> <span class="hljs-number">338</span><span class="hljs-string">:d=1</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">13 cons:</span> <span class="hljs-string">SEQUENCE</span>
<span class="hljs-number">340</span><span class="hljs-string">:d=2</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">9 prim:</span> <span class="hljs-string">OBJECT</span> <span class="hljs-string">:sha256WithRSAEncryption</span> <span class="hljs-number">351</span><span class="hljs-string">:d=2</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">0 prim:</span> <span class="hljs-literal">NULL</span>
<span class="hljs-number">353</span><span class="hljs-string">:d=1</span> <span class="hljs-string">hl=2</span> <span class="hljs-string">l=</span> <span class="hljs-attr">65 prim:</span> <span class="hljs-string">BIT</span> <span class="hljs-string">STRING</span>
<span class="hljs-number">0000</span> <span class="hljs-bullet">-</span> <span class="hljs-number">00</span> <span class="hljs-number">31</span> <span class="hljs-number">01</span> <span class="hljs-number">50</span> <span class="hljs-string">7f</span> <span class="hljs-string">d9</span> <span class="hljs-number">75</span> <span class="hljs-number">82</span><span class="hljs-string">-e5</span> <span class="hljs-number">71</span> <span class="hljs-string">da</span> <spa

Options

n class="hljs-string">b5</span> <span class="hljs-number">73</span> <span class="hljs-string">0b</span> <span class="hljs-string">a4</span> <span class="hljs-number">53</span> <span class="hljs-number">.1</span><span class="hljs-string">.P..u..q..s..S</span> <span class="hljs-number">0010</span> <span class="hljs-bullet">-</span> <span class="hljs-string">b5</span> <span class="hljs-string">f6</span> <span class="hljs-string">ac</span> <span class="hljs-number">89</span> <span class="hljs-number">45</span> <span class="hljs-string">d7</span> <span class="hljs-number">22</span> <span class="hljs-string">0b-75</span> <span class="hljs-number">65</span> <span class="hljs-string">ec</span> <span class="hljs-string">1f</span> <span class="hljs-string">4e</span> <span class="hljs-string">5d</span> <span class="hljs-string">5b</span> <span class="hljs-number">72</span> <span class="hljs-string">....E.".ue..N][r</span> <span class="hljs-number">0020</span> <span class="hljs-bullet">-</span> <span class="hljs-string">df</span> <span class="hljs-string">ff</span> <span class="hljs-string">1c</span> <span class="hljs-number">33</span> <span class="hljs-string">bc</span> <span class="hljs-string">c6</span> <span class="hljs-number">53</span> <span class="hljs-string">ae-06</span> <span class="hljs-number">14</span> <span class="hljs-number">02</span> <span class="hljs-string">3e</span> <span class="hljs-string">b7</span> <span class="hljs-number">82</span> <span class="hljs-string">c3</span> <span class="hljs-string">4c</span> <span class="hljs-string">...3..S........L</span> <span class="hljs-number">0030</span> <span class="hljs-bullet">-</span> <span class="hljs-number">60</span> <span class="hljs-string">b4</span> <span class="hljs-string">bc</span> <span class="hljs-number">86</span> <span class="hljs-number">30</span> <span class="hljs-string">a5</span> <span class="hljs-string">e4</span> <span class="hljs-number">21</span><span class="hljs-string">-be</span> <span class="hljs-number">80</span> <span class="hljs-string">c5</span> <span class="hljs-string">f3</span> <span class="hljs-string">5c</span> <span class="hljs-string">e2</span> <span class="hljs-number">49</span> <span class="hljs-number">20</span> <span class="hljs-string">`...0..!.....I</span> <span class="hljs-number">0040</span> <span class="hljs-bullet">-</span> <span class="hljs-number">46</span></pre></div><p id="1cab">We can see the main certificate elements of sha256WithRSAEncryption (for the signature method), the common name (“example.com”), rsaEncryption (and showing the public key). The key is in a DER format of “30 48 02 41 00 d7 d8 ac 84 81 f1 2a 31 d9 91 e1 7b ea 62 df 27 52 ba 1a 41 46 7b 07 39 67 8d 72 16 d8 0e c6 61 2a 90 a3 13 4f af c9 96 4c 26 4b 95 be 44 07 9c 76 03 51 a8 9f 02 04 43 af 61 f4 23 43 e3 ff 11 02 03 01 00 01”. For this we get [<a href="https://asecuritysite.com/openssl/openssl_der?a0=3048024100d7d8ac8481f12a31d991e17bea62df2752ba1a41467b0739678d7216d80ec6612a90a3134fafc9964c264b95be44079c760351a89f020443af61f42343e3ff110203010001">here</a>]:</p><div id="693f"><pre>3048024100d7d8ac8481f12a31d991e17bea62df2752ba1a41467b0739678d7216d80ec6612a90a3134fafc9964c264b95be44079c760351a89f020443af61f42343e3ff110203010001 |<span class="hljs-params"> xxd -r -p </span>| openssl asn1parse -inform der

<span class="hljs-number">0</span><span class="hljs-symbol">:d=</span><span class="hljs-number">0</span> hl=<span class="hljs-number">2</span> l= <span class="hljs-number">72</span> <span class="hljs-symbol">cons:</span> <span class="hljs-variable constant_">SEQUENCE</span>
<span class="hljs-number">2</span><span class="hljs-symbol">:d=</span><span class="hljs-number">1</span> hl=<span class="hljs-number">2</span> l= <span class="hljs-number">65</span> <span class="hljs-symbol">prim:</span> <span class="hljs-variable constant_">INTEGER</span> <span class="hljs-symbol">:D7D8AC8481F12A31D991E17BEA62DF2752BA1A41467B0739678D7216D80EC6612A90A3134FAFC9964C264B95BE44079C760351A89F020443AF61F42343E3FF11</span> <span class="hljs-number">69</span><span class="hljs-symbol">:d=</span><span class="hljs-number">1</span> hl=<span class="hljs-number">2</span> l= <span class="hljs-number">3</span> <span class="hljs-symbol">prim:</span> <span class="hljs-variable constant_">INTEGER</span> <span class="hljs-symbol">:</span><span class="hljs-number">010001</span></pre></div><p id="ff4b">nd where we have the <b>public key </b>of the generated key (N=0xD7D… and E=0x010001).</p><h1 id="62ac">Display cert in text</h1><p id="9967">For the full details of the certificate, we can either specify the PEM or DER file, and display the certificate in a text format:</p><div id="2ea2"><pre>% openssl x509 -inform pem -noout -text -<span class="hljs-keyword">in</span> cert.crt <span class="hljs-title class_">Certificate</span>: <span class="hljs-title class_">Data</span>: <span class="hljs-title class_">Version</span>: <span class="hljs-number">3</span> (<span class="hljs-number">0x2</span>) <span class="hljs-title class_">Serial</span> <span class="hljs-title class_">Number</span>: 0<span class="hljs-symbol">b:</span><span class="hljs-symbol">b0:</span><span class="hljs-number">49</span><span class="hljs-symbol">:</span><span class="hljs-number">13</span><span class="hljs-symbol">:d0</span><span class="hljs-symbol">:d9</span><span class="hljs-symbol">:</span><span class="hljs-number">52</span><span class="hljs-symbol">:af</span><span class="hljs-symbol">:</span><span class="hljs-number">22</span><span class="hljs-symbol">:</span><span class="hljs-number">06</span><span class="hljs-symbol">:dc</span><span class="hljs-symbol">:</span>5<span class="hljs-symbol">c:</span>5<span class="hljs-symbol">e:</span><span class="hljs-symbol">ce:</span><span class="hljs-symbol">f7:</span><span class="hljs-number">84</span><span class="hljs-symbol">:</span>1<span class="hljs-symbol">a:</span><span class="hljs-number">73</span><span class="hljs-symbol">:b1</span><span class="hljs-symbol">:b1</span> <span class="hljs-title class_">Signature</span> <span class="hljs-title class_">Algorithm</span>: sha256WithRSAEncryption <span class="hljs-title class_">Issuer</span>: <span class="hljs-variable constant_">CN</span> = example.com <span class="hljs-title class_">Validity</span> <span class="hljs-title class_">Not</span> <span class="hljs-title class_">Before</span>: <span class="hljs-title class_">Dec</span> <span class="hljs-number">17</span> <span class="hljs-number">20</span><span class="hljs-symbol">:</span><span class="hljs-number">35</span><span class="hljs-symbol">:</span>09 <span class="hljs-number">2023</span> <span class="hljs-variable constant_">GMT</span> <span class="hljs-title class_">Not</span> <span class="hljs-title class_">After</span> : <span class="hljs-title class_">Dec</span> <span class="hljs-number">14</span> <span class="hljs-number">20</span><span class="hljs-symbol">:</span><span class="hljs-number">35</span><span class="hljs-symbol">:</span>09 <span class="hljs-number">2033</span> <span class="hljs-variable constant_">GMT</span> <span class="hljs-title class_">Subject</span>: <span class="hljs-variable constant_">CN</span> = example.com <span class="hljs-title class_">Subject</span> <span class="hljs-title class_">Public</span> <span class="hljs-title class_">Key</span> <span class="hljs-title class_">Info</span>: <span class="hljs-title class_">Public</span> <span class="hljs-title class_">Key</span> <span class="hljs-title class_">Algorithm</span>: rsaEncryption <span class="hljs-title class_">Public</span>-<span class="hljs-title class_">Key</span>: (<span class="hljs-number">512</span> bit) <span class="hljs-title class_">Modulus</span>: <span class="hljs-number">00</span><span class="hljs-symbol">:d7</span><span class="hljs-symbol">:d8</span><span class="hljs-symbol">:ac</span><span class="hljs-symbol">:</span><span class="hljs-number">84</span><span class="hljs-symbol">:</span><span class="hljs-number">81</span><span class="hljs-symbol">:f1</span><span class="hljs-symbol">:</span>2<span class="hljs-symbol">a:</span><span class="hljs-number">31</span><span class="hljs-symbol">:d9</span><span class="hljs-symbol">:</span><span class="hljs-number">91</span><span class="hljs-symbol">:e1</span><span class="hljs-symbol">:</span>7<span class="hljs-symbol">b:</span><span class="hljs-symbol">ea:</span><span class="hljs-number">62</span>: <span class="hljs-symbol">df:</span><span class="hljs-number">27</span><span class="hljs-symbol">:</span><span class="hljs-number">52</span><span class="hljs-symbol">:ba</span><span class="hljs-symbol">:</span>1<span class="hljs-symbol">a:</span><span class="hljs-number">41</span><span class="hljs-symbol">:</span><span class="hljs-number">46</span><span class="hljs-symbol">:</span>7<span class="hljs-symbol">b:</span><span class="hljs-number">07</span><span class="hljs-symbol">:</span><span class="hljs-number">39</span><span class="hljs-symbol">:</span><span class="hljs-number">67</span><span class="hljs-symbol">:</span>8<span class="hljs-symbol">d:</span><span class="hljs-number">72</span><span class="hljs-symbol">:</span><span class="hljs-number">16</span><span class="hljs-symbol">:d8</span>: 0<span class="hljs-symbol">e:</span><span class="hljs-symbol">c6:</span><span class="hljs-number">61</span><span class="hljs-symbol">:</span>2<span class="hljs-symbol">a:</span><span class="hljs-number">90</span><span class="hljs-symbol">:a3</span><span class="hljs-symbol">:</span><span class="hljs-number">13</span><span class="hljs-symbol">:</span>4<span class="hljs-symbol">f:</span><span class="hljs-symbol">af:</span><span class="hljs-symbol">c9:</span><span class="hljs-number">96</span><span class="hljs-symbol">:</span>4<span class="hljs-symbol">c:</span><span class="hljs-number">26</span><span class="hljs-symbol">:</span>4<span class="hljs-symbol">b:</span><span class="hljs-number">95</span>: <span class="hljs-symbol">be:</span><span class="hljs-number">44</span><span class="hljs-symbol">:</span><span class="hljs-number">07</span><span class="hljs-symbol">:</span>9<span class="hljs-symbol">c:</span><span class="hljs-number">76</span><span class="hljs-symbol">:</span><span class="hljs-number">03</span><span class="hljs-symbol">:</span><span class="hljs-number">51</span><span class="hljs-symbol">:a8</span><span class="hljs-symbol">:</span>9<span class="hljs-symbol">f:</span><span class="hljs-number">02</span><span class="hljs-symbol">:</span><span class="hljs-number">04</span><span class="hljs-symbol">:</span><span class="hljs-number">43</span><span class="hljs-symbol">:af</span><span class="hljs-symbol">:</span><span class="hljs-number">61</span><span class="hljs-symbol">:f4</span>: <span class="hljs-number">23</span><span class="hljs-symbol">:</span><span class="hljs-number">43</span><span class="hljs-symbol">:e3</span><span class="hljs-symbol">:ff</span><span class="hljs-symbol">:</span><span class="hljs-number">11</span> <span class="hljs-title class_">Exponent</span>: <span class="hljs-number">65537</span> (<span class="hljs-number">0x10001</span>) <span class="hljs-title class_">X509v3</span> <span class="hljs-symbol">extensions:</span> <span class="hljs-title class_">X509v3</span> <span class="hljs-title class_">Subject</span> <span class="hljs-title class_">Key</span> <span class="hljs-title class_">Identifier</span>: <span class="hljs-variable constant_">C1</span><span class="hljs-symbol">:</span><span class="hljs-number">74</span><span class="hljs-symbol">:</span><span class="hljs-number">42</span><span class="hljs-symbol">:</span>4<span class="hljs-symbol">B:</span><span class="hljs-variable constant_">BB</span><span class="hljs-symbol">:</span>3<span class="hljs-symbol">B:</span><span class="hljs-variable constant_">F5</span><span class="hljs-symbol">:D1</span><span class="hljs-symbol">:</span><span class="hljs-number">54</span><span class="hljs-symbol">:</span><span class="hljs-number">20</span><span class="hljs-symbol">:</span>6<span class="hljs-symbol">E:</span>9<span class="hljs-symbol">B:</span><span class="hljs-variable constant_">B1</span><span class="hljs-symbol">:AD</span><span class="hljs-symbol">:A8</span><span class="hljs-symbol">:</span><span class="hljs-number">28</span><span class="hljs-symbol">:F7</span><span class="hljs-symbol">:C0</span><span class="hljs-symbol">:</span>5<span class="hljs-symbol">A:</span><span class="hljs-variable constant_">D6</span> <span class="hljs-title class_">X509v3</span> <span class="hljs-title class_">Authority</span> <span class="hljs-title class_">Key</span> <span class="hljs-title class_">Identifier</span>: <span class="hljs-variable constant_">C1</span><span class="hljs-symbol">:</span><span class="hljs-number">74</span><span class="hljs-symbol">:</span><span class="hljs-number">42</span><span class="hljs-symbol">:</span>4<span class="hljs-symbol">B:</span><span class="hljs-variable constant_">BB</span><span class="hljs-symbol">:</span>3<span class="hljs-symbol">B:</span><span class="hljs-variable constant_">F5</span><span class="hljs-symbol">:D1</span><span class="hljs-symbol">:</span><span class="hljs-number">54</span><span class="hljs-symbol">:</span><span class="hljs-number">20</span><span class="hljs-symbol">:</span>6<span class="hljs-symbol">E:</span>9<span class="hljs-symbol">B:</span><span class="hljs-variable constant_">B1</span><span class="hljs-symbol">:AD</span><span class="hljs-symbol">:A8</span><span class="hljs-symbol">:</span><span class="hljs-number">28</span><span class="hljs-symbol">:F7</span><span class="hljs-symbol">:C0</span><span class="hljs-symbol">:</span>5<span class="hljs-symbol">A:</span><span class="hljs-variable constant_">D6</span> <span class="hljs-title class_">X509v3</span> <span class="hljs-title class_">Basic</span> <span class="hljs-title class_">Constraints</span>: critical <span class="hljs-variable constant_">CA</span><span class="hljs-symbol">:TRUE</span> <span class="hljs-title class_">X509v3</span> <span class="hljs-title class_">Subject</span> <span class="hljs-title class_">Alternative</span> <span class="hljs-title class_">Name</span>: <span class="hljs-variable constant_">DNS</span><span class="hljs-symbol">:example</span>.com, <span class="hljs-variable constant_">DNS</span><span class="hljs-symbol">:*</span>.<span class="hljs-number">4</span> <span class="hljs-title class_">Signature</span> <span class="hljs-title class_">Algorithm</span>: sha256WithRSAEncryption <span class="hljs-title class_">Signature</span> <span class="hljs-title class_">Value</span>: <span class="hljs-number">31</span><span class="hljs-symbol">:</span><span class="hljs-number">01</span><span class="hljs-symbol">:</span><span class="hljs-number">50</span><span class="hljs-symbol">:</span>7<span class="hljs-symbol">f:</span><span class="hljs-symbol">d9:</span><span class="hljs-number">75</span><span class="hljs-symbol">:</span><span class="hljs-number">82</span><span class="hljs-symbol">:e5</span><span class="hljs-symbol">:</span><span class="hljs-number">71</span><span class="hljs-symbol">:da</span><span class="hljs-symbol">:b5</span><span class="hljs-symbol">:</span><span class="hljs-number">73</span><span class="hljs-symbol">:</span>0<span class="hljs-symbol">b:</span><span class="hljs-symbol">a4:</span><span class="hljs-number">53</span><span class="hljs-symbol">:b5</span><span class="hljs-symbol">:f6</span><span class="hljs-symbol">:ac</span>: <span class="hljs-number">89</span><span class="hljs-symbol">:</span><span class="hljs-number">45</span><span class="hljs-symbol">:d7</span><span class="hljs-symbol">:</span><span class="hljs-number">22</span><span class="hljs-symbol">:</span>0<span class="hljs-symbol">b:</span><span class="hljs-number">75</span><span class="hljs-symbol">:</span><span class="hljs-number">65</span><span class="hljs-symbol">:ec</span><span class="hljs-symbol">:</span>1<span class="hljs-symbol">f:</span>4<span class="hljs-symbol">e:</span>5<span class="hljs-symbol">d:</span>5<span class="hljs-symbol">b:</span><span class="hljs-number">72</span><span class="hljs-symbol">:df</span><span class="hljs-symbol">:ff</span><span class="hljs-symbol">:</span>1<span class="hljs-symbol">c:</span><span class="hljs-number">33</span><span class="hljs-symbol">:bc</span>: <span class="hljs-symbol">c6:</span><span class="hljs-number">53</span><span class="hljs-symbol">:ae</span><span class="hljs-symbol">:</span><span class="hljs-number">06</span><span class="hljs-symbol">:</span><span class="hljs-number">14</span><span class="hljs-symbol">:</span><span class="hljs-number">02</span><span class="hljs-symbol">:</span>3<span class="hljs-symbol">e:</span><span class="hljs-symbol">b7:</span><span class="hljs-number">82</span><span class="hljs-symbol">:c3</span><span class="hljs-symbol">:</span>4<span class="hljs-symbol">c:</span><span class="hljs-number">60</span><span class="hljs-symbol">:b4</span><span class="hljs-symbol">:bc</span><span class="hljs-symbol">:</span><span class="hljs-number">86</span><span class="hljs-symbol">:</span><span class="hljs-number">30</span><span class="hljs-symbol">:a5</span><span class="hljs-symbol">:e4</span>: <span class="hljs-number">21</span><span class="hljs-symbol">:be</span><span class="hljs-symbol">:</span><span class="hljs-number">80</span><span class="hljs-symbol">:c5</span><span class="hljs-symbol">:f3</span><span class="hljs-symbol">:</span>5<span class="hljs-symbol">c:</span><span class="hljs-symbol">e2:</span><span class="hljs-number">49</span><span class="hljs-symbol">:</span><span class="hljs-number">20</span><span class="hljs-symbol">:</span><span class="hljs-number">46</span></pre></div><p id="f091">You can try here:</p><p id="6151"><a href="https://asecuritysite.com/openssl/openssl_cert_create">https://asecuritysite.com/openssl/openssl_cert_create</a></p><p id="0598">And here:</p> <figure id="3a1b"> <div> <div> <img class="ratio" src="http://placehold.it/16x9"> <iframe class="" src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FkSt-k-aYYQk%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DkSt-k-aYYQk&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FkSt-k-aYYQk%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" allowfullscreen="" frameborder="0" height="480" width="854"> </div> </div> </figure></iframe></div></div></figure></article></body>

Which Is One of the Least Understood Areas of Cybersecurity, But One of the Most Important?

Well, one of the contenders for an answer to this question is digital certificates and PKI (Public Key Infrastructure). Ask a cybersecurity professional about what they are and how they are used, and you might not get a detailed answer. But, they are fundamentally important to the security and trust of many systems and are used in every single Web connection that we make. Without them, we would not know if we were connected to a fake domain or not.

Basically, digital certificates are used to hold either the public key or the public key pair — in a trusted way. In the following, Alice sends Bob her public key, and which is signed by Trent. If Bob trusts Trent, then he trusts the public key. Bob can then encrypt data for Alice, and where she then decrypts with her private key:

Where we normally use public key encryption is with digital signatures, and where Bob signs a hash of a message with his private key, and then Alice proves his signature with his public key. Again, it is Trent who proves Bob’s public key:

And, where we integrate digital signing to prove the identity of a Web site (Alice) with a digital signature, and where Trent’s private key signs a digital certificate for Alice:

And, so when Bob connects to Alice’s Web site, she signs data with her private key, and then takes her public key from the digital certificate that has been signed by Trent. Overall, Bob will trust this certificate, as he will have Trent’s public key stored on his trusted certificate store.

And, so, all digital certificates contain either the public key of an entity (and which can be distributed publicly), or the key pair (and which should not be distributed publicly). Overall, the two main key pairs we can have is with RSA keys or ECC (Elliptic Curve Cryptography) key pairs. In this case, we will create a self-signed digital certificate, and where Alice creates a key pair, and then puts her public key in the certificate, and then signs it with her private key:

The certificate cannot be properly trusted, though, as Trent has not signed it. This self-signed certificate, though, can be used for testing purposes.

X.509

A digital certificate is defined in the form of X.509, and normally contains a trusted public key. For this, we sign the certificate with the private key of a trusted entity. But we can also create a self-signed certificate, and where we sign with our own private key. The two main formats for a digital certificate are with PEM or DER (a binary form). In this case, we will create an RSA key pair and then create a self-signed certificate. We will sign the certificate with the private key that we create and store the public key within the certificate.

Let’s start with a sample run of creating an RSA key pair and an X509 certificate [here]:

Commands:
openssl req -x509 -newkey rsa:512 -sha256 -days 3650   -nodes 
   -keyout file1.der -out file2.der -subj "/CN=example.com"  
   -addext "subjectAltName = DNS:example.com,DNS: *.example.com,IP:10.0.0.1"
openssl rsa  -in file.key -out file1.der -outform DER
openssl x509 -in file.crt -out file2.der -outform DER
type file1.der | xxd -pr 
type file2.der | xxd -pr 

-----BEGIN PRIVATE KEY-----
MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEA19ishIHxKjHZkeF7
6mLfJ1K6GkFGewc5Z41yFtgOxmEqkKMTT6/JlkwmS5W+RAecdgNRqJ8CBEOvYfQj
Q+P/EQIDAQABAkEAiR8rKdrq/GVC1LwsXpCFN5QEil1hixLh0vk2u3Byom85SGYF
kaYrbVmRFwFd31Gd3eYXsz7W8m61K2XL/Ba26QIhAO7NhA+PqP+zP+CPshGsGlkZ
iyTlFwA2Pi0pPU4W0mirAiEA52PxEiPvJVwWZyfJOpcRsZmpqbyK+12DNI+wgNPF
bzMCICEV6E4foVKMCzWZsxovthbSKy0ZcG5fFY48QHopP02xAiAbjpZ+P5NSkrYE
UQOxG5661P8UvOScbRWcI+S0YwQnawIgc1BXRn5td4G5HBXMVaCUlLzxpR1ww5fe
H1OcsmMXQ5M=
-----END PRIVATE KEY-----

DER Format (Keys):
3082013a020100024100d7d8ac8481f12a31d991e17bea62df2752ba1a41
467b0739678d7216d80ec6612a90a3134fafc9964c264b95be44079c7603
51a89f020443af61f42343e3ff110203010001024100891f2b29daeafc65
42d4bc2c5e90853794048a5d618b12e1d2f936bb7072a26f3948660591a6
2b6d599117015ddf519ddde617b33ed6f26eb52b65cbfc16b6e9022100ee
cd840f8fa8ffb33fe08fb211ac1a59198b24e51700363e2d293d4e16d268
ab022100e763f11223ef255c166727c93a9711b199a9a9bc8afb5d83348f
b080d3c56f3302202115e84e1fa1528c0b3599b31a2fb616d22b2d19706e
5f158e3c407a293f4db102201b8e967e3f935292b6045103b11b9ebad4ff
14bce49c6d159c23e4b46304276b0220735057467e6d7781b91c15cc55a0
9494bcf1a51d70c397de1f539cb263174393

-----BEGIN CERTIFICATE-----
MIIBoDCCAUqgAwIBAgIUC7BJE9DZUq8iBtxcXs73hBpzsbEwDQYJKoZIhvcNAQEL
BQAwFjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wHhcNMjMxMjE3MjAzNTA5WhcNMzMx
MjE0MjAzNTA5WjAWMRQwEgYDVQQDDAtleGFtcGxlLmNvbTBcMA0GCSqGSIb3DQEB
AQUAA0sAMEgCQQDX2KyEgfEqMdmR4XvqYt8nUroaQUZ7BzlnjXIW2A7GYSqQoxNP
r8mWTCZLlb5EB5x2A1GonwIEQ69h9CND4/8RAgMBAAGjcDBuMB0GA1UdDgQWBBTB
dEJLuzv10VQgbpuxrago98Ba1jAfBgNVHSMEGDAWgBTBdEJLuzv10VQgbpuxrago
98Ba1jAPBgNVHRMBAf8EBTADAQH/MBsGA1UdEQQUMBKCC2V4YW1wbGUuY29tggMq
LjQwDQYJKoZIhvcNAQELBQADQQAxAVB/2XWC5XHatXMLpFO19qyJRdciC3Vl7B9O
XVty3/8cM7zGU64GFAI+t4LDTGC0vIYwpeQhvoDF81ziSSBG
-----END CERTIFICATE-----

DER Format (Certificate):
308201a03082014aa00302010202140bb04913d0d952af2206dc5c5ecef7
841a73b1b1300d06092a864886f70d01010b050030163114301206035504
030c0b6578616d706c652e636f6d301e170d323331323137323033353039
5a170d3333313231343230333530395a30163114301206035504030c0b65
78616d706c652e636f6d305c300d06092a864886f70d0101010500034b00
3048024100d7d8ac8481f12a31d991e17bea62df2752ba1a41467b073967
8d7216d80ec6612a90a3134fafc9964c264b95be44079c760351a89f0204
43af61f42343e3ff110203010001a370306e301d0603551d0e04160414c1
74424bbb3bf5d154206e9bb1ada828f7c05ad6301f0603551d2304183016
8014c174424bbb3bf5d154206e9bb1ada828f7c05ad6300f0603551d1301
01ff040530030101ff301b0603551d1104143012820b6578616d706c652e
636f6d82032a2e34300d06092a864886f70d01010b05000341003101507f
d97582e571dab5730ba453b5f6ac8945d7220b7565ec1f4e5d5b72dfff1c
33bcc653ae0614023eb782c34c60b4bc8630a5e421be80c5f35ce2492046

For the keys, we have a DER format of:

3082013a020100024100d7d8ac8481f12a31d991e17bea62df2752ba1a41
467b0739678d7216d80ec6612a90a3134fafc9964c264b95be44079c7603
51a89f020443af61f42343e3ff110203010001024100891f2b29daeafc65
42d4bc2c5e90853794048a5d618b12e1d2f936bb7072a26f3948660591a6
2b6d599117015ddf519ddde617b33ed6f26eb52b65cbfc16b6e9022100ee
cd840f8fa8ffb33fe08fb211ac1a59198b24e51700363e2d293d4e16d268
ab022100e763f11223ef255c166727c93a9711b199a9a9bc8afb5d83348f
b080d3c56f3302202115e84e1fa1528c0b3599b31a2fb616d22b2d19706e
5f158e3c407a293f4db102201b8e967e3f935292b6045103b11b9ebad4ff
14bce49c6d159c23e4b46304276b0220735057467e6d7781b91c15cc55a0
9494bcf1a51d70c397de1f539cb263174393

We can parse with [here]:

echo 3082013a020100024100d7d8ac8481f12a31d991e17bea62df2752ba1a41467b0739678d7216d80ec6612a90a3134fafc9964c264b95be44079c760351a89f020443af61f42343e3ff110203010001024100891f2b29daeafc6542d4bc2c5e90853794048a5d618b12e1d2f936bb7072a26f3948660591a62b6d599117015ddf519ddde617b33ed6f26eb52b65cbfc16b6e9022100eecd840f8fa8ffb33fe08fb211ac1a59198b24e51700363e2d293d4e16d268ab022100e763f11223ef255c166727c93a9711b199a9a9bc8afb5d83348fb080d3c56f3302202115e84e1fa1528c0b3599b31a2fb616d22b2d19706e5f158e3c407a293f4db102201b8e967e3f935292b6045103b11b9ebad4ff14bce49c6d159c23e4b46304276b0220735057467e6d7781b91c15cc55a09494bcf1a51d70c397de1f539cb263174393 
| xxd -r -p | openssl asn1parse -inform der

0:d=0  hl=4 l= 314 cons: SEQUENCE          
    4:d=1  hl=2 l=   1 prim: INTEGER           :00
    7:d=1  hl=2 l=  65 prim: INTEGER           :D7D8AC8481F12A31D991E17BEA62DF2752BA1A41467B0739678D7216D80EC6612A90A3134FAFC9964C264B95BE44079C760351A89F020443AF61F42343E3FF11
   74:d=1  hl=2 l=   3 prim: INTEGER           :010001
   79:d=1  hl=2 l=  65 prim: INTEGER           :891F2B29DAEAFC6542D4BC2C5E90853794048A5D618B12E1D2F936BB7072A26F3948660591A62B6D599117015DDF519DDDE617B33ED6F26EB52B65CBFC16B6E9
  146:d=1  hl=2 l=  33 prim: INTEGER           :EECD840F8FA8FFB33FE08FB211AC1A59198B24E51700363E2D293D4E16D268AB
  181:d=1  hl=2 l=  33 prim: INTEGER           :E763F11223EF255C166727C93A9711B199A9A9BC8AFB5D83348FB080D3C56F33
  216:d=1  hl=2 l=  32 prim: INTEGER           :2115E84E1FA1528C0B3599B31A2FB616D22B2D19706E5F158E3C407A293F4DB1
  250:d=1  hl=2 l=  32 prim: INTEGER           :1B8E967E3F935292B6045103B11B9EBAD4FF14BCE49C6D159C23E4B46304276B
  284:d=1  hl=2 l=  32 prim: INTEGER           :735057467E6D7781B91C15CC55A09494BCF1A51D70C397DE1F539CB263174393

In RSA, a public key is (e,N) and the private key is (d,N), and where N is the modulus and made up of the multiplication of two prime numbers (p and q). In the following, we have hexademical values of e=0x010001, d=0xD7D8AC8481F12A31D991E17BEA62DF2752BA1A41467B0739678D7216D80EC6612A90A3134FAFC9964C264B95BE44079C760351A89F020443AF61F42343E3FF11, N=0x891F2B29DAEAFC6542D4BC2C5E90853794048A5D618B12E1D2F936BB7072A26F3948660591A62B6D599117015DDF519DDDE617B33ED6F26EB52B65CBFC16B6E9, p=0xEECD840F8FA8FFB33FE08FB211AC1A59198B24E51700363E2D293D4E16D268AB and q=0xE763F11223EF255C166727C93A9711B199A9A9BC8AFB5D83348FB080D3C56F33. If we try p times q, we get the modulus value:

>>> p=int("EECD840F8FA8FFB33FE08FB211AC1A59198B24E51700363E2D293D4E16D268AB",16)
>>> q=int("E763F11223EF255C166727C93A9711B199A9A9BC8AFB5D83348FB080D3C56F33",16)
>>> N=hex(p*q)
>>> print (N)
0xd7d8ac8481f12a31d991e17bea62df2752ba1a41467b0739678d7216d80ec6612a90a3134fafc9964c264b95be44079c760351a89f020443af61f42343e3ff11

We can now analyse the certificate, and parse the DER format [here]:

Command:
echo 308201a03082014aa00302010202140bb04913d0d952af2206dc5c5ecef7841a73b1b1300d06092a864886f70d01010b050030163114301206035504030c0b6578616d706c652e636f6d301e170d3233313231373230333530395a170d3333313231343230333530395a30163114301206035504030c0b6578616d706c652e636f6d305c300d06092a864886f70d0101010500034b003048024100d7d8ac8481f12a31d991e17bea62df2752ba1a41467b0739678d7216d80ec6612a90a3134fafc9964c264b95be44079c760351a89f020443af61f42343e3ff110203010001a370306e301d0603551d0e04160414c174424bbb3bf5d154206e9bb1ada828f7c05ad6301f0603551d23041830168014c174424bbb3bf5d154206e9bb1ada828f7c05ad6300f0603551d130101ff040530030101ff301b0603551d1104143012820b6578616d706c652e636f6d82032a2e34300d06092a864886f70d01010b05000341003101507fd97582e571dab5730ba453b5f6ac8945d7220b7565ec1f4e5d5b72dfff1c33bcc653ae0614023eb782c34c60b4bc8630a5e421be80c5f35ce2492046 
| xxd -r -p | openssl asn1parse -inform der

0:d=0  hl=4 l= 416 cons: SEQUENCE          
    4:d=1  hl=4 l= 330 cons: SEQUENCE          
    8:d=2  hl=2 l=   3 cons: cont [ 0 ]        
   10:d=3  hl=2 l=   1 prim: INTEGER           :02
   13:d=2  hl=2 l=  20 prim: INTEGER           :0BB04913D0D952AF2206DC5C5ECEF7841A73B1B1
   35:d=2  hl=2 l=  13 cons: SEQUENCE          
   37:d=3  hl=2 l=   9 prim: OBJECT            :sha256WithRSAEncryption
   48:d=3  hl=2 l=   0 prim: NULL              
   50:d=2  hl=2 l=  22 cons: SEQUENCE          
   52:d=3  hl=2 l=  20 cons: SET               
   54:d=4  hl=2 l=  18 cons: SEQUENCE          
   56:d=5  hl=2 l=   3 prim: OBJECT            :commonName
   61:d=5  hl=2 l=  11 prim: UTF8STRING        :example.com
   74:d=2  hl=2 l=  30 cons: SEQUENCE          
   76:d=3  hl=2 l=  13 prim: UTCTIME           :231217203509Z
   91:d=3  hl=2 l=  13 prim: UTCTIME           :331214203509Z
  106:d=2  hl=2 l=  22 cons: SEQUENCE          
  108:d=3  hl=2 l=  20 cons: SET               
  110:d=4  hl=2 l=  18 cons: SEQUENCE          
  112:d=5  hl=2 l=   3 prim: OBJECT            :commonName
  117:d=5  hl=2 l=  11 prim: UTF8STRING        :example.com
  130:d=2  hl=2 l=  92 cons: SEQUENCE          
  132:d=3  hl=2 l=  13 cons: SEQUENCE          
  134:d=4  hl=2 l=   9 prim: OBJECT            :rsaEncryption
  145:d=4  hl=2 l=   0 prim: NULL              
  147:d=3  hl=2 l=  75 prim: BIT STRING        
      0000 - 00 30 48 02 41 00 d7 d8-ac 84 81 f1 2a 31 d9 91   .0H.A.......*1..
      0010 - e1 7b ea 62 df 27 52 ba-1a 41 46 7b 07 39 67 8d   .{.b.'R..AF{.9g.
      0020 - 72 16 d8 0e c6 61 2a 90-a3 13 4f af c9 96 4c 26   r....a*...O...L.
      0030 - 4b 95 be 44 07 9c 76 03-51 a8 9f 02 04 43 af 61   K..D..v.Q....C.a
      0040 - f4 23 43 e3 ff 11 02 03-01 00 01                  .#C........
  224:d=2  hl=2 l= 112 cons: cont [ 3 ]        
  226:d=3  hl=2 l= 110 cons: SEQUENCE          
  228:d=4  hl=2 l=  29 cons: SEQUENCE          
  230:d=5  hl=2 l=   3 prim: OBJECT            :X509v3 Subject Key Identifier
  235:d=5  hl=2 l=  22 prim: OCTET STRING      
      0000 - 04 14 c1 74 42 4b bb 3b-f5 d1 54 20 6e 9b b1 ad   ...tBK.;..T n...
      0010 - a8 28 f7 c0 5a d6                                 .(..Z.
  259:d=4  hl=2 l=  31 cons: SEQUENCE          
  261:d=5  hl=2 l=   3 prim: OBJECT            :X509v3 Authority Key Identifier
  266:d=5  hl=2 l=  24 prim: OCTET STRING      
      0000 - 30 16 80 14 c1 74 42 4b-bb 3b f5 d1 54 20 6e 9b   0....tBK.;..T n.
      0010 - b1 ad a8 28 f7 c0 5a d6-                          ...(..Z.
  292:d=4  hl=2 l=  15 cons: SEQUENCE          
  294:d=5  hl=2 l=   3 prim: OBJECT            :X509v3 Basic Constraints
  299:d=5  hl=2 l=   1 prim: BOOLEAN           :255
  302:d=5  hl=2 l=   5 prim: OCTET STRING      
      0000 - 30 03 01 01 ff                                    0....
  309:d=4  hl=2 l=  27 cons: SEQUENCE          
  311:d=5  hl=2 l=   3 prim: OBJECT            :X509v3 Subject Alternative Name
  316:d=5  hl=2 l=  20 prim: OCTET STRING      
      0000 - 30 12 82 0b 65 78 61 6d-70 6c 65 2e 63 6f 6d 82   0...example.com.
      0010 - 03 2a 2e 34                                       .*.4
  338:d=1  hl=2 l=  13 cons: SEQUENCE          
  340:d=2  hl=2 l=   9 prim: OBJECT            :sha256WithRSAEncryption
  351:d=2  hl=2 l=   0 prim: NULL              
  353:d=1  hl=2 l=  65 prim: BIT STRING        
      0000 - 00 31 01 50 7f d9 75 82-e5 71 da b5 73 0b a4 53   .1.P..u..q..s..S
      0010 - b5 f6 ac 89 45 d7 22 0b-75 65 ec 1f 4e 5d 5b 72   ....E.".ue..N][r
      0020 - df ff 1c 33 bc c6 53 ae-06 14 02 3e b7 82 c3 4c   ...3..S........L
      0030 - 60 b4 bc 86 30 a5 e4 21-be 80 c5 f3 5c e2 49 20   `...0..!....\.I 
      0040 - 46

We can see the main certificate elements of sha256WithRSAEncryption (for the signature method), the common name (“example.com”), rsaEncryption (and showing the public key). The key is in a DER format of “30 48 02 41 00 d7 d8 ac 84 81 f1 2a 31 d9 91 e1 7b ea 62 df 27 52 ba 1a 41 46 7b 07 39 67 8d 72 16 d8 0e c6 61 2a 90 a3 13 4f af c9 96 4c 26 4b 95 be 44 07 9c 76 03 51 a8 9f 02 04 43 af 61 f4 23 43 e3 ff 11 02 03 01 00 01”. For this we get [here]:

3048024100d7d8ac8481f12a31d991e17bea62df2752ba1a41467b0739678d7216d80ec6612a90a3134fafc9964c264b95be44079c760351a89f020443af61f42343e3ff110203010001 
| xxd -r -p | openssl asn1parse -inform der

0:d=0  hl=2 l=  72 cons: SEQUENCE          
    2:d=1  hl=2 l=  65 prim: INTEGER           :D7D8AC8481F12A31D991E17BEA62DF2752BA1A41467B0739678D7216D80EC6612A90A3134FAFC9964C264B95BE44079C760351A89F020443AF61F42343E3FF11
   69:d=1  hl=2 l=   3 prim: INTEGER           :010001

nd where we have the public key of the generated key (N=0xD7D… and E=0x010001).

Display cert in text

For the full details of the certificate, we can either specify the PEM or DER file, and display the certificate in a text format:

% openssl x509 -inform pem -noout -text -in cert.crt
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            0b:b0:49:13:d0:d9:52:af:22:06:dc:5c:5e:ce:f7:84:1a:73:b1:b1
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: CN = example.com
        Validity
            Not Before: Dec 17 20:35:09 2023 GMT
            Not After : Dec 14 20:35:09 2033 GMT
        Subject: CN = example.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (512 bit)
                Modulus:
                    00:d7:d8:ac:84:81:f1:2a:31:d9:91:e1:7b:ea:62:
                    df:27:52:ba:1a:41:46:7b:07:39:67:8d:72:16:d8:
                    0e:c6:61:2a:90:a3:13:4f:af:c9:96:4c:26:4b:95:
                    be:44:07:9c:76:03:51:a8:9f:02:04:43:af:61:f4:
                    23:43:e3:ff:11
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Key Identifier:
                C1:74:42:4B:BB:3B:F5:D1:54:20:6E:9B:B1:AD:A8:28:F7:C0:5A:D6
            X509v3 Authority Key Identifier:
                C1:74:42:4B:BB:3B:F5:D1:54:20:6E:9B:B1:AD:A8:28:F7:C0:5A:D6
            X509v3 Basic Constraints: critical
                CA:TRUE
            X509v3 Subject Alternative Name:
                DNS:example.com, DNS:*.4
    Signature Algorithm: sha256WithRSAEncryption
    Signature Value:
        31:01:50:7f:d9:75:82:e5:71:da:b5:73:0b:a4:53:b5:f6:ac:
        89:45:d7:22:0b:75:65:ec:1f:4e:5d:5b:72:df:ff:1c:33:bc:
        c6:53:ae:06:14:02:3e:b7:82:c3:4c:60:b4:bc:86:30:a5:e4:
        21:be:80:c5:f3:5c:e2:49:20:46

You can try here:

https://asecuritysite.com/openssl/openssl_cert_create

And here:

Cybersecurity
Cryptography
Recommended from ReadMedium