下面提到的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#工程
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 theAsn1Processor
library to view and to edit DER encoded data. TheAsn1Processor
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".
您可以通过右键单击指定的节点并选择“查看节点文本”来查看选定的节点分支文本转储。查看节点文本
2. Atomically Parse “Encapsulates” Data
OCTET and BITSTRING may encapsulate ASN.1 DER encoded data, for example:
OCTET和BITSTRING可以封装ASN.1 DER编码的数据,例如:
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编辑器可以自动分析数据结构。
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".
双击选定的节点,您将看到“节点内容编辑器”。
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".
使用“数据转换器”在Hex,Base64和PEM之间转换数据格式。
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 格式的数据文件后,数据将被自动解码,内部结构将以树状形式展示,如下图:
在一个数据项上单击鼠标右键,如果在弹出菜单中点击“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形式显示数据的值。
当用户在树状视图窗口中点击鼠标选中一个数据项时,其对应的值将在16进制查看窗口中以特别的颜色高亮显示出来。当用户用鼠标双击树状视图中的一个数据项时,会弹出“Node Content Editor”窗口,如果该项的值是可修改的,用户可以在弹出窗口中输入新的值。(该功能似乎有Bug,我尝试修改了一个值,软件直接退出了。)
该软件包含一个特别的功能——数据格式转换。点击工具栏上的“Open data converter”小按钮,将会弹出数据格式转换窗口:
在 Binary Converter 窗口中,可以将数据转换为其他格式。还可以在窗口中选中一段数据,然后点击鼠标右键,在弹出菜单中选择“Cut”、“Copy”等操作。如下图:
在菜单“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”窗口,输入文件名和保存类型,点击“保存”按钮,完成文件存储。
选择“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格式的文本。