Snooper中的Asn1 View/Editor

下面提到的snooper 0.0.6.1版本,可以在

https://download.csdn.net/download/jennyvenus/15645978

下载


正文

 

很多工作中都会遇到asn1编码的证书文件,网络上有好多asn1工具,下面是两个本人用过的,第一个叫asn1 viewer,第二个叫asn1 editor

 

ASN1 VIEW

ASN1 VIEW 工具软件查看 ASN.1 编码数据,其界面如下:


asn1 editor

个人感觉比asn1 view更强大的工具是一个叫asn1 editor的工具,asn1 editor是一个非常优秀的软件,使用方便,功能强大,我早想自己编写一个,无奈一直没下定决心动手。来看看著名的asn1 editor。

 

https://www.codeproject.com/Articles/4910/ASN-1-Editor

 

这是开源的c#工程

 

说明: ASN.1 Editor Main Screen

Introduction

Abstract Syntax Notation One (ASN.1) Distinguished Encoding Rule (DER) encoded data is widely used in digital security protocols (i.e. X509 digital certificate). The encoded data is not readable by regular text editors. The Asn1Processor Library is designed to parse and modify ASN.1 DER encoded data. The ASN.1 Editor is a sample project that uses the Asn1Processor library to view and to edit DER encoded data. The Asn1Processor Library source code and reference documentation (Asn1EditorLib.chm) are also included in the downloadable source code zip file.

抽象语法表示法一(ASN.1)可分辨编码规则(DER)编码的数据被广泛用于数字安全协议(即X509数字证书)中。常规的文本编辑器无法读取编码后的数据。 Asn1Processor库旨在解析和修改ASN.1 DER编码的数据。 ASN.1编辑器是一个示例项目,该项目使用Asn1Processor库查看和编辑DER编码的数据。可下载的源zip文件中还包含Asn1Processor库的源代码和参考文档(Asn1EditorLib.chm)。

The ASN.1 Editor doesn't do any schema checking. The user needs to make sure the edited data conforms to certain constrains (i.e. OCSP request or Key Info structure).

ASN.1编辑器不执行任何模式检查。用户需要确保编辑后的数据符合某些约束(即OCSP请求或密钥信息结构)。

Main Features

1. Dump Text Format Data

You can view the selected node branch text dump by right-clicking the designated node and selecting "View Node Text".

您可以通过右键单击指定的节点并选择“查看节点文本”来查看选定的节点分支文本转储。查看节点文本

 说明: View Node Text

2. Atomically Parse “Encapsulates” Data

OCTET and BITSTRING may encapsulate ASN.1 DER encoded data, for example:

OCTETBITSTRING可以封装ASN.1 DER编码的数据,例如:

说明: Encapsulate Parse Sample

The ASN.1 Editor can automatically parse the data structure.

ASN.1编辑器可以自动分析数据结构。

3. Hex Data Viewer

Click "View->Hex Viewer" and you can view the binary data structure.

ASN.1编辑器可以自动分析数据结构。

 

说明: Hex Viewer

4. Extensible OID Table

OID.txt file is installed in the same directory as Asn1Editor.EXE.

OID.txt文件与Asn1Editor.EXE安装在同一目录中。

Here are the sample records:

0.9.2342.19200300.100.1.25, domainComponent
1.2.36.68980861.1.1.10, Signet pilot
1.2.36.68980861.1.1.11, Signet intraNet
1.2.36.68980861.1.1.2, Signet personal
1.2.36.68980861.1.1.20, Signet securityPolicy

The OID and the description are comma separated. It can be extended in order to add in additional OIDs.

OID和描述以逗号分隔。可以扩展它以添加其他OID

5. Change Node Content

Double click the selected node and you can see the "Node Content Editor".

双击选定的节点,您将看到“节点内容编辑器”。

说明: Node Content Editor

6. Save Selected Node Data into Another File

You can save the designated node data into a file by right-clicking the node and selecting "Save selected node as...".

通过右键单击节点并选择“将所选节点另存为...”,可以将指定的节点数据保存到文件中。

7. Copy Selected Node Data into Clipboard

Right-click the node and select "Copy".

右键单击该节点,然后选择“复制”。

8. Paste Node Data from Clipboard

Right-click the insertion point node and select "Paste as last child node", "Paste before current node", or "Paste after current node" to perform the insert operation.

右键单击插入点节点,然后选择“粘贴为最后一个子节点”,“粘贴在当前节点之前”或“粘贴在当前节点之后”以执行插入操作。

9. Binary/Hex/Base64 Data Converter

Convert the data format between Hex, Base64, and PEM using the "Data Converter".

使用“数据转换器”在HexBase64PEM之间转换数据格式。

 

说明: Data Converter

History

·3rd September, 2003: Initial post

·29th June, 2008: Updated source code and installer
The changes are mainly for bug fixing, Visual Studio 2005, and Vista support.

2003年9月3日:初始

2008年6月29日:更新了源代码和安装程序

所做的更改主要用于错误修复,Visual Studio 2005和Vista支持。

 


 

asn1 editor wpf

你以为asn1 editor就至此为止了吗?并没有,下面这段内容拷贝自

 


https://blog.csdn.net/henter/article/details/103057538

  

现在在网上又找到了另一个类似的工具软件 ASN.1 Editor,该软件的功能包括:显示、编辑、格式化及转换 ASN.1 编码格式的数据,使用它的前提是用户计算机上已经安装了 .NET Framework 4.5。该软件的发布网站是:https://www.pkisolutions.com/tools/asn1editor/ ,在那里提供了 zip 格式文件的下载链接。下载解压后,双击其中包含的 Asn1Editor-x64.exe (64 位可执行文件)或 Asn1Editor-x86.exe (32位可执行文件)就可以使用,无须安装。这个软件是开源的,源码发布在: https://github.com/PKISolutions/Asn1Editor.WPF,使用的开源许可证是Microsoft Public License (Ms-PL)。使用该软件打开一个ASN.1 格式的数据文件后,数据将被自动解码,内部结构将以树状形式展示,如下图:

 

说明: https://img-blog.csdnimg.cn/20191113211850211.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlbnRlcg==,size_16,color_FFFFFF,t_70

 

        在一个数据项上单击鼠标右键,如果在弹出菜单中点击“Save selected node as....”,可以将该节点的内容另存为文件。如果在弹出菜单中点击“View node text...”,可以查看该数据项的内部结构与值。

 

 

 

        在默认情况下,16进制查看窗口是被隐藏的,通过点击软件界面工具栏上的“Show or hide hex viewer”小按钮,会弹出两个大按钮“Show or hide address panel”、“Show or hide ASCII panel”。点击这两个大按钮可以分别以16进制、ASCII形式显示数据的值。

 

说明: https://img-blog.csdnimg.cn/20191113212429492.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlbnRlcg==,size_16,color_FFFFFF,t_70

 

        当用户在树状视图窗口中点击鼠标选中一个数据项时,其对应的值将在16进制查看窗口中以特别的颜色高亮显示出来。当用户用鼠标双击树状视图中的一个数据项时,会弹出“Node Content Editor”窗口,如果该项的值是可修改的,用户可以在弹出窗口中输入新的值。(该功能似乎有Bug,我尝试修改了一个值,软件直接退出了。)

         该软件包含一个特别的功能——数据格式转换。点击工具栏上的“Open data converter”小按钮,将会弹出数据格式转换窗口:

  说明: https://img-blog.csdnimg.cn/20191113212704637.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlbnRlcg==,size_16,color_FFFFFF,t_70

 

 

说明: https://img-blog.csdnimg.cn/20191113213223466.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlbnRlcg==,size_16,color_FFFFFF,t_70

        在 Binary Converter 窗口中,可以将数据转换为其他格式。还可以在窗口中选中一段数据,然后点击鼠标右键,在弹出菜单中选择“Cut”、“Copy”等操作。如下图:

 说明: https://img-blog.csdnimg.cn/20191113213359923.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlbnRlcg==,size_16,color_FFFFFF,t_70

 

        在菜单“Tools”->"Settings"中,可以调整文字显示的大小,如下图所示:

 

  


 

不过感觉这个版本有时候会崩溃,另外编辑功能还可以增强

 Snooper中的asn1 view/Editor

 

Snooper软件中目前也集成了Asn1 view/editor功能,全面模仿Asn1 editor这个工具的行为,这里要说明的是,Snooper-Asn1使用古老的MFC编写,虽然Asn1 editor是开源的代码,但是我看不懂,虽然c++有很多强大的特性,可以写出与C#类似的语法,可是我不会,所以Snooper-Asn1是以模仿为目的,用了少量C++基本特性的C语言,从0开始,重新开发的,部分资源图像借用了Asn1 editor

  

Snooper----ASN1View/Editor使用说明

一、简介:

Asn1View/Editor是一个是Snooper软件中的一个供简单的查看/编辑asn1编码格式文件的小工具,它也可以查看编辑base64编码格式的证书文件,比如我们常用的x.509数字证书,p7b证书链,p12证书,pfx个人交换证书,p10证书请求文件等。

 

二、主要功能

     1.如何打开此功能?

      1.1打开snooper.exe,选择“Card Tools1”

1.2 打开下拉菜单,如下图。选择“ASN.1 Editor”。

会打开“ASN.1 View/Editor” 窗口,如下图:

2. ASN.1 View/Editor功能如何使用?

下图为ASN.1 View/Editor的工具栏

下面逐一介绍每个图标的功能。

2.1 Open Certificate file

选择“Open Certificate file”图标,打开“Open File”窗口。

选择需要查看或编辑的证书文件的文件名,点击“打开”按钮。或双击需要查看或编辑的证书文件的文件名。

 

证书文件被打开,如下图。可以查看证书的内容,各节点信息等。

当然,直接拖动证书文件到窗口中,这是必须支持的功能。

 

2.2 Save

当证书被编辑后,点击“Save”图标,保存修改的内容。当没有修改时,此功能置灰。

2.3 Save File

选择“Save File”图标,打开“Save File”窗口,输入文件名和保存类型,点击“保存”按钮,完成文件存储。

2.4 Open the folder

选择“Open the folder”图标,会在文件夹中查看被打开的文件。

2.5 Edit Selected Node

当选中最底层节点时,Edit Selected Node为可用状态。“New or Edit – Asn.1 Node”窗口有两种打开方式。

第一种为:选中最底层节点,然后点击“Edit Selected Node”图标可以打开“New or Edit – Asn.1 Node”窗口

第二种为:直接双击最底层节点,打开“New or Edit – Asn.1 Node”窗口

 

在“New or Edit – Asn.1 Node”窗口修改节点内容,然后点击“Ok”按钮即可。

不同的tag具有不同的编辑方式,比如一个oid格式,可以使用字符串或16进制格式编辑,两者之前能够互相切换。

 

1.2.840.999.888.777.666.555.666 与 2A 86 48 87 67 86 78 86 09 85 1A 84 2B 85 1A 是等价的。

2.6 View Node text information

选中一个节点,单击“View Node text information”图标,打开“Note text view”窗口,显示该节点的详细信息。

文本查看有两种格式,第一种是证书格式,一种是openssl格式

2.7 Data convert

选中一个节点,单击“Data convert”图标,打开“Data Convert view”窗口。选择该窗口上相应的图标可以查看不同的编码格式。

数据转换有7种格式

2.8 Cut

选择需要的节点,单击“Cut”图标,选中的节点将被复制到剪切板上,原位置的节点消失。

 

 

2.9 Copy

选择需要的节点,单击“Copy”图标,选中的节点将被复制到剪切板上,原位置的节点仍存在。

 

 

2.10 Paste before

选中一个节点,点击“Paste before”图标,会将之前剪切或复制的节点粘贴到当前节点之前。

 

2.11 Paste after

选中一个节点,点击“Paste after”图标,会将之前剪切或复制的节点粘贴到当前节点之后。

 

 

2.12 Paste last

选中一个节点(不能是最底层的节点),点击“Paste last”图标,会将之前剪切或复制的节点粘贴到当前节点的最后一个子节点的后边。

 

 

2.13 New

点击“New”图标,新建一个节点。如果选中的节点为父节点,则新建节点是该节点的最后一个子节点。如果选中的节点是最底层的节点,新建节点为选中节点后边的节点。

可以设置节点的属性,如下图。

2.14 Clear

选择需要删除的节点,点击“Clear”图标,删除该节点。如果该节点为有子节点,那么子节点也会被同时删除。

注:工具栏上的部分图标可以通过选中某一节点,右击来打开。

具体包括如下功能:

-- 编辑选中节点

-- 保存选中节点(注:只会保存当前选中节点和其子节点的内容。因此,当使用此功能保存根节点时,会保存整个证书时)

-- 查看节点文本

-- 新建节点

-- 剪切节点

-- 复制节点

-- 粘贴到当前节点的前面

-- 粘贴到当前节点的前面

-- 粘贴成当前节点的最后一个子节点(当前节点需要是复合节点)

-- 删除当前节点

 

2.15 Word wrap

选中“Word wrap”图标时,待拷贝数据以16字节为一行进行分行,否则数据处于同一行。

2.16 Asked to save the modified file

选中“Asked to save the modified file”图标时,当文件被修改过后,关闭窗口时会提示保存;反之亦然。

2.17 Display Options

点击“Display Options”图标,弹出如下图下拉菜单,可以设置Node窗口显示的内容。

 

 

2.18 Window List

点击“Window List”图标,弹出如下图下拉菜单,可以设置ASN.1 View/Editor窗口显示的子窗口。

3.Data Convert view窗口

Data Convert view窗口可以查看不同的数据格式。如:Base64,Crt,Request,CRL,Hex,Address,ASCII,Addr+ASC,RAW等。

 

这7种格式涵盖了大部分的需求。

4.Node text view窗口

       Node text view窗口可以通过工具栏,切换Cert Util Format和OpenSSL Format两种格式。

 

证书格式

open ssl格式

 

 

5.Hex View窗口

Hex View窗口可以通过工具栏,切换不同的编码格式和排版格式。

Hex View窗口选中内容,右击,弹出菜单,可以对证书内容进行剪切,复制,粘贴,删除操作,如下图:

6.Detail info窗口

Detail info窗口用于显示选中节点的详细信息,如下图:

 

7.Node Tree窗口

 

Node Tree窗口具有大部分常见编辑方式,在打开证书文件之后,tree窗口显示证书的各种节点,通过Display options,可以控制显示格式

  

7.1 Ctrl + 滚轮可以放大缩小

7.2 选中节点可以按Ctrl + c或Ctrl + x进行复制或剪切

7.3 按Ctrl + v可以粘贴到当前节点的后面

7.4 可以通过鼠标移动或复制节点,修改节点的结构。

直接使用鼠标可以移动,按住Ctrl则是复制

以目标节点的文字为界,在文字左边,则被拖拽节点会成为目标节点的兄弟节点。

反之,则被拖拽节点会成为目标节点的子节点。

 

工具会自动判断拖拽行为是否合理,不合理的行为会由图标显示禁止。

如上图,一个节点不能成为一个基础节点的子节点。

 

7.5 鼠标放在节点上,会显示节点的详细信息

 

8.外部数据输入窗口

有时候我们会由一些文本文件得到一些asn1数据,此时不必利用其他工具先换成二进制格式再打开,可以直接粘贴到此窗口中,并进行分析尝试。

此窗口也支持base64格式的文本。

 

 

 

猜你喜欢

转载自blog.csdn.net/jennyvenus/article/details/114405742
今日推荐