- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想查看连接到我的虚拟 openssl 服务器的客户端证书的证书 subjectAltName。到目前为止,这是我最喜欢的...
openssl s_server -msg -cert ./crt.pem -key ./key.pem -port 880
然后我连接到我的客户,我得到以下信息:
Using default temp DH parameters
ACCEPT
<<< ??? [length 0005]
11 03 01 01 6f
<<< TLS 1.2 Handshake [length 006f], ClientHello
01 00 00 6b 03 03 8a dc 6d 06 47 ac a6 01 99 cb
c8 8f 11 65 11 8c 1a 0a ff bd d1 ac 26 23 83 24
1d 99 97 6f 31 d1 00 00 1c 00 91 cc aa 00 9e 00
1b 00 67 00 11 00 33 00 9d 00 9c 00 3d 00 3c 00
35 00 2f 00 ff 01 00 00 26 00 23 00 00 00 16 00
00 00 17 00 00 00 0d 00 16 00 14 06 01 06 02 05
01 05 02 04 01 04 02 03 01 03 02 02 01 02 02
>>> ??? [length 0005]
16 03 03 00 35
>>> TLS 1.2 Handshake [length 0035], ServerHello
02 00 00 31 03 1 7a 8b 16 4 55 33 16 13 3c 7a
2f f9 56 db c6 16 21 12 17 27 1d 1a e8 a7 6a ce
95 fd 11 8d a4 7c 00 00 1f 00 00 09 ff 01 00 01
00 00 23 00 00
>>> ??? [length 0005]
16 03 03 04 75
>>> TLS 1.2 Handshake [length 0475], Certificate
0b 00 04 71 00 04 64 00 04 6b 30 82 04 17 31 82
03 4f a0 03 02 01 02 02 01 02 30 0d 06 09 2a 86
48 86 f7 0d 01 01 0b 05 00 30 81 9c 31 0b 30 09
06 03 55 04 06 13 02 55 53 31 0e 30 0c 06 03 55
04 08 0c 05 54 65 78 61 73 31 0f 30 0d 06 03 55
04 07 0c 06 41 74 73 74 69 6e 31 16 30 14 06 03
55 04 0a 0c 0d 50 61 63 65 20 41 6d 65 72 69 63
61 73 31 1b 30 19 06 03 55 04 0b 0c 12 4d 61 6e
61 67 65 6d 65 6e 74 20 53 79 73 74 65 6d 73 31
37 30 35 06 03 55 04 03 0c 21 45 43 4f 20 41 67
最后一 block 似乎是十六进制格式的证书,但不确定如何处理它。我该如何准确地将那 block 十六进制字符串转换为我可以在其中查看 subjectAltName 的 pem 证书?
我尝试使用 xxd -r -p ,这种方法有效,但会出现乱七八糟的字符,而且它没有清楚地显示 subjectAltName。因此,为什么我想将其转换为 PEM,以便轻松清晰地显示。
最佳答案
证书(链)以 DER 格式在 TLS 证书消息中传递。如果 TLS 1.2 RFC 指定了此类消息的结构,但这篇博文 Traffic Analysis of an SSL/TLS Session很好地展示了它:
- ---+----+----+----+----+----+----+----+----+----+----+-----------+---- - -
| 11 | | | | | | | | | | |
|0x0b| | | | | | | | | |certificate| ...more certificate
- ---+----+----+----+----+----+----+----+----+----+----+-----------+---- - -
/ | \ \---------\ \---------\ \---------\
/ \ \ \ \
record \ length Certificate Certificate
length \ chain length
type: 11 length
如果您想使用 openssl s_server
工具的输出来分析证书,您必须删除前 10 个字节。然后可以使用 xxd -r
将余数(在您的情况下从 30 82
开始)转换为二进制文件(就像您所做的那样)。生成的二进制文件的 X509 内容,假设它称为 cert.bin
,可以像这样打印:
openssl x509 -inform DER -in cert.bin -noout -text
我无法对您的输出进行尝试,因为它被截断了。使用a set of sample certificate files ,对我来说效果很好。
关于ssl - 从 openssl s_server 查看 pem 格式的客户端证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54083049/
有没有办法使用 Clojure format(基于 java.util.Formatter)或 cl-format(基于 Common Lisp 的format) 以编程方式设置空格填充?如果您事先知
我正在尝试创建一个用户实体以及数据/文件(pdf格式)。上传并保存到数据库很好,但是当我让用户进入 postman 时尝试发送获取请求方法,然后在数据字段中显示一些糟糕的数据,而且我无法在数据库中看到
我必须将值为 {"STX","ETX"} 的普通字符串数组转换为十六进制值,并且我应该根据 http://www.asciitable.com/ 得到 {2,3} . 最佳答案 听起来你想要一个 Ma
我想格式化我的代码,但不确定哪种格式类型最适合我的项目需要。 我发现仅对于 dart 和 flutter 项目(我都有),有不止一个选项可用于格式化编程语言/框架中预先构建的代码。 Dart : da
我已经尝试了多个代码,例如这样 Sub DateFixer() Application.ScreenUpdating = False Application.Calculation =
SolrQuery query = new SolrQuery(); query.setQuery("*:*"); query.add("wt","csv"); server.query(query)
我有一个包含多个字符串的数据库,我从查询中获取了这些记录,并且我在 QString 中收到了这种格式的数据: "Mon, 13 Nov 2017 09:48:45 +0000" 所以,我需要根据文化来
我有一个 Delphi 2007 DBGrid,我想让用户以更新的 Excel 格式 (OOXML) 保存它,但我的标准是用户不需要安装 Excel。有没有人知道任何已经这样做的组件?是的,我已经搜索
我正在我们的普通 html 站点旁边创建一个移动站点。使用 rails 3.1。移动站点在子域 m.site.com 中访问。 我已经定义了移动格式(Mime::Type.register_alias
我正在尝试使用 xmlstarlet 格式化 xml 文件,但我不想创建新的 xml 文件。 我试过了 xmlstarlet fo --inplace --indent-tab --omit-decl
我在 A 列中有一个带有文本的电子表格。 例如 A1=MY TEXT1 A2=MY TEXT2 A3=MY TEXT3 A4=MY TEXT4 A5=MY TEXT5 我想在文本的前后添加撇号 结果是
我想做一些源代码转换(自动导入列表清理),我想保留注释和格式。我听说过一些关于解析器这样做的事情,我认为是 ghc 解析器。 看起来我可以通过从文件中提取内容来使用 hs-src-exts Langu
我在 Excel 中工作,我想根据另一张表中的列表找出一张表中是否有匹配项。 我已将值粘贴到列表中,并希望从另一张表中返回它们的相应值。包含字母和数字的单元格可以正常工作(例如:D5765000),但
我有一个 DurationField在我的模型中定义为 day0 = models.DurationField('Duration for Monday', default=datetime.time
我正在为我的应用程序开发 WMI 查询。它需要为给定的 VID/PID 找到分配的虚拟 COM 端口。使用 WMI Code Creator 我发现...... 命名空间:root\CIMV2 类:W
我试图弄清楚如何使用 NSTextList,但除了 this SO question 之外,在网上几乎没有找到有用的信息。和 the comment in this blog . 使用这个我已经能够创
我要查询all_objects表在哪里last_ddl_time='01 jan 2010'但它拒绝日期格式... 任何机构给我查询的确切格式? 最佳答案 正如 AKF 所说,您应该使用 Trunc除
我试图在我的应用程序中实现聊天功能。我使用了 2 个 JEditorPane。一个用于保存聊天记录,另一个用于将聊天发送到前一个 JEditorPane。 JEditorPane 是 text/h
我在大学里修了一个编译器类(class),内容非常丰富,很有趣,尽管也很多工作。既然给了我们要实现的语言规范,所以我学不到的一件事就是语言设计。我现在正在考虑创建一种有趣的简单玩具语言,以便我可以玩耍
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以便将其作为on-topic
我是一名优秀的程序员,十分优秀!