如何确定证书的格式并将其转换为文本?

时间:2019-03-04 03:16:04

标签: openssl certificate x509

我遇到了一些我无法以任何方式阅读的证书。 file命令未指定文件类型,假设它是二进制文件。 我想阅读这些证书。 这是我到目前为止所了解的:

file cert1.crt
cert.crt: data

cat cert1.crt
0l10UUnknown10Unknown10UUnknown10U
Unknown10U
350327111421Z0l10UUnknown10Unknown10UUnknown10U
Unknown10U
▒▒0▒▒▒▒▒▒v▒▒▒▒;#T▒_DZiЩ▒▒}wn0▒▒0 >1▒▒▒$▒▒N7D▒"▒Z▒`▒U▒'m؇|▒▒'▒Y;▒▒#▒▒▒L▒▒▒BC▒4▒PՋ▒o▒     ▒▒▒▒▒4
4▒▒a▒▒jn▒▒▒^▒җ▒
▒▒#G▒▒Du▒▒▒=▒▒▒}#
             @▒▒▒PC▒/▒
s▒▒\▒>▒Y▒"9▒▒!@0▒X7▒▒▒▒▒bw▒rQI▒▒▒▒▒W▒2▒0▒B▒▒▒▒`y+▒o:▒▒gx2▒▒▒*▒4▒▒:j▒y▒ȁR▒\▒[▒e

hexdump -C cert1.crt
00000000  30 82 02 4f 30 82 01 b8  a0 03 02 01 02 02 04 4c        |0..O0..........L|
00000010  5a 9d 0d 30 0d 06 09 2a  86 48 86 f7 0d 01 01 05  |Z..0...*.H......|
00000020  05 00 30 6c 31 10 30 0e  06 03 55 04 06 13 07 55  |..0l1.0...U....U|
00000030  6e 6b 6e 6f 77 6e 31 10  30 0e 06 03 55 04 08 13  |nknown1.0...U...|
00000040  07 55 6e 6b 6e 6f 77 6e  31 10 30 0e 06 03 55 04  |.Unknown1.0...U.|
00000050  07 13 07 55 6e 6b 6e 6f  77 6e 31 10 30 0e 06 03  |...Unknown1.0...|
00000060  55 04 0d 0a 13 07 55 6e  6b 6e 6f 77 6e 31 10 30  |U.....Unknown1.0|
...
000001b0  8c 91 04 5e 02 ab d2 97  b8 0d 0a f8 e6 f2 e3 02  |...^............|
000001c0  03 01 00 01 30 0d 06 09  2a 86 48 86 f7 0d 01 01  |....0...*.H.....|
000001d0  05 05 00 03 81 81 00 23  47 ba 8b 0e 04 44 06 75  |.......#G....D.u|
000001e0  a6 ef fd be aa 9c 3d c7  db f2 7d 17 23 0b 40 0f  |......=...}.#.@.|
000001f0  d1 c7 fc 50 43 d7 2f df  0d 0a 73 b8 99 5c 1b bc  |...PC./...s..\..|
00000200  b5 3e 15 87 59 af 22 39  ac 8d 21 40 30 11 b3 58  |.>..Y."9..!@0..X|
00000210  37 c0 01 e7 ec e6 de 62  77 e5 72 51 49 f1 e5 b7  |7......bw.rQI...|
00000220  16 ab 96 8c 06 57 ee 15  32 b8 30 de 42 e2 1f cf  |.....W..2.0.B...|
00000230  f8 f2 60 79 2b 91 6f 3a  dc f2 67 78 32 83 05 f0  |..`y+.o:..gx2...|
00000240  00 90 2a e9 34 bd 8a 3a  6a 1e ac 79 14 8c c8 81  |..*.4..:j..y....|
00000250  52 f9 5c a2 5b b2 65 05                           |R.\.[.e.|
00000258

我尝试用openssl将它们打开为PEM,DER,x509,pkcs12 | 7 | 8,rsa。 如何以文本格式打开这些证书?

1 个答案:

答案 0 :(得分:0)

十六进制转储(30 82)的开头看起来像DER格式。

尝试命令:

openssl x509 -in cert1.crt -inform DER  -noout -text

具有有效DER文件的示例:

~ # hexdump -C /tmp/cert1.crt
00000000  30 82 03 bd 30 82 02 a5  a0 03 02 01 02 02 02 05  |0...0...........|
00000010  29 30 0d 06 09 2a 86 48  86 f7 0d 01 01 0b 05 00  |)0...*.H........|
....

~ # openssl x509 -in /tmp/cert1.crt -inform DER  -noout -text
Certificate:
    Data:
        Version: 3 (0x2)
....

如果它不起作用,则您的文件可能已损坏。