Click here to Skip to main content
11,644,731 members (68,586 online)
Click here to Skip to main content

ASN.1 Editor

, 30 Jun 2008 CPOL 263.2K 16.1K 86
Rate this:
Please Sign up or sign in to vote.
An editor to view, analyse and modify ASN.1 DER encoded data
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.

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).

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:

Encapsulate Parse Sample

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

3. Hex Data Viewer

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

Hex Viewer

4. Extensible OID Table

OID.txt file is installed in the same directory as 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.

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".

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.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Liping Dai
Software Developer (Senior)
United States United States
Liping Dai has worked in IT industry more than 17 years. He moved to Canada in 1996. After worked in Toronto for 4 years, he relocated to Silicon Valley. He has strong passion in the area of Multi-core/Multi thread programming, Parallel Computing, Image Reorganization, Secure Communication, and Mobile Device development.

You may also be interested in...

Comments and Discussions

 
NewsNew life to ASN.1 Editor Pin
vpodans2-Aug-15 5:53
membervpodans2-Aug-15 5:53 
GeneralStill an excellent work Pin
Member 1179544723-Jul-15 9:35
memberMember 1179544723-Jul-15 9:35 
QuestionIn message file p7m. asn1 Editor bad for each file Pin
Member 361124631-Mar-15 2:16
memberMember 361124631-Mar-15 2:16 
GeneralMy vote of 5 Pin
Member 1119121529-Oct-14 15:12
memberMember 1119121529-Oct-14 15:12 
QuestionMy vote is 5 Pin
Safak Tarazan25-Oct-14 8:57
memberSafak Tarazan25-Oct-14 8:57 
GeneralMy vote of 1 Pin
MYS7717-Sep-14 6:11
memberMYS7717-Sep-14 6:11 
GeneralMy vote of 5 Pin
Member 1089613019-Jun-14 21:40
memberMember 1089613019-Jun-14 21:40 
Questioncan you decouple the asn1 node class from System.Windows.Forms.TreeNode class? Pin
foundationsoft3-Oct-13 16:18
memberfoundationsoft3-Oct-13 16:18 
AnswerRe: can you decouple the asn1 node class from System.Windows.Forms.TreeNode class? Pin
Liping Dai3-Oct-13 17:11
memberLiping Dai3-Oct-13 17:11 
GeneralNice tool, but can't handle 'indefinite' length Pin
Qistoph17-Mar-11 11:39
memberQistoph17-Mar-11 11:39 
GeneralRe: Nice tool, but can't handle 'indefinite' length Pin
dheijl17-Nov-11 3:40
memberdheijl17-Nov-11 3:40 
GeneralRe: Nice tool, but can't handle 'indefinite' length Pin
Qistoph17-Nov-11 21:28
memberQistoph17-Nov-11 21:28 
GeneralRe: Nice tool, but can't handle 'indefinite' length Pin
dheijl17-Nov-11 21:39
memberdheijl17-Nov-11 21:39 
GeneralRe: Nice tool, but can't handle 'indefinite' length Pin
Qistoph17-Nov-11 21:46
memberQistoph17-Nov-11 21:46 
GeneralExcellent tool, + problem Pin
CodyBatt14-Dec-10 11:39
memberCodyBatt14-Dec-10 11:39 
GeneralMy vote of 5 Pin
Alastair Taylor7-Oct-10 2:50
memberAlastair Taylor7-Oct-10 2:50 
GeneralAssigning ASN.1 BER file for decoding Pin
kkonline55522-Mar-10 5:55
memberkkonline55522-Mar-10 5:55 
GeneralASN1 Visualizer Pin
KinslayerUY17-Sep-09 6:01
memberKinslayerUY17-Sep-09 6:01 
General[Message Removed] Pin
Katekortez25-Oct-08 9:30
memberKatekortez25-Oct-08 9:30 
GeneralConverting signed data (with PKCS7) to ASN1Node Pin
Asaf Levy22-Apr-08 19:12
memberAsaf Levy22-Apr-08 19:12 
GeneralRe: Converting signed data (with PKCS7) to ASN1Node Pin
KinslayerUY17-Sep-09 5:53
memberKinslayerUY17-Sep-09 5:53 
QuestionWriting ASN.1 specification for an audio file (.WAV) Pin
ASN1keith24-Feb-08 11:45
memberASN1keith24-Feb-08 11:45 
I am involved in a project where i need to write a specification for an audio file that have to transfer form one computer to another.

I am new at using ASN.1 and i am not even sure what type i am supposed to specify the file as.

I wrote the following specification:

________________________________________________
Module-user DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

Voicemail ::= SEQUENCE {

mail OCTET STRING }

END
_________________________________________________


and converted it to a c++ class using the ASN.1 c++ tools from OSS Nokalva, but the audio file is not being encoded.

I simply need to know how to write an asn1 specification that will allow me to properly encode a .WAV audio file.
GeneralI want to convert Base 64 certificate to DER format Pin
yetty200028-Jun-07 21:08
memberyetty200028-Jun-07 21:08 
GeneralFile DER Pin
Sara9781-Jun-05 5:44
memberSara9781-Jun-05 5:44 
GeneralRe: File DER Pin
Liping Dai1-Jun-05 19:52
memberLiping Dai1-Jun-05 19:52 
GeneralFile in title bar/file name on command line Pin
Tony Morris12-May-05 18:20
memberTony Morris12-May-05 18:20 
GeneralRe: File in title bar/file name on command line Pin
Liping Dai16-May-05 3:24
memberLiping Dai16-May-05 3:24 
GeneralRe: File in title bar/file name on command line Pin
Tony Morris16-May-05 12:26
memberTony Morris16-May-05 12:26 
GeneralINTEGER value 0 encoding error Pin
Joe Hartford6-Apr-05 12:27
memberJoe Hartford6-Apr-05 12:27 
GeneralRe: INTEGER value 0 encoding error Pin
Liping Dai25-Apr-05 20:44
memberLiping Dai25-Apr-05 20:44 
QuestionIs this project still moving? Pin
Tony Morris3-Apr-05 14:10
memberTony Morris3-Apr-05 14:10 
AnswerRe: Is this project still moving? Pin
Liping Dai3-Apr-05 16:43
memberLiping Dai3-Apr-05 16:43 
GeneralRe: Is this project still moving? Pin
[Tony Morris]3-Apr-05 18:41
suss[Tony Morris]3-Apr-05 18:41 
GeneralRe: Is this project still moving? Pin
Liping Dai3-Apr-05 19:21
memberLiping Dai3-Apr-05 19:21 
GeneralRe: Is this project still moving? Pin
Tony Morris4-Apr-05 18:09
memberTony Morris4-Apr-05 18:09 
GeneralRe: Is this project still moving? Pin
Liping Dai4-Apr-05 20:10
memberLiping Dai4-Apr-05 20:10 
GeneralOID Encoding Error Pin
jfrazier00426-Mar-05 9:08
memberjfrazier00426-Mar-05 9:08 
GeneralRe: OID Encoding Error Pin
Liping Dai27-Mar-05 12:46
memberLiping Dai27-Mar-05 12:46 
General.ber and . der Pin
BigAzam23-Feb-05 15:02
memberBigAzam23-Feb-05 15:02 
GeneralRe: .ber and . der Pin
Anonymous23-Feb-05 19:15
sussAnonymous23-Feb-05 19:15 
GeneralRe: .ber and . der Pin
BigAzam7-Apr-05 6:20
memberBigAzam7-Apr-05 6:20 
QuestionHow to detect if the node has one or multiple tags? Pin
greatx16-Feb-05 16:17
sussgreatx16-Feb-05 16:17 
AnswerRe: How to detect if the node has one or multiple tags? Pin
Liping Dai16-Feb-05 19:28
memberLiping Dai16-Feb-05 19:28 
GeneralOpening X509 signed files. Pin
sillypuppy23-Jan-05 22:41
membersillypuppy23-Jan-05 22:41 
GeneralRe: Opening X509 signed files. Pin
Liping Dai24-Jan-05 19:10
memberLiping Dai24-Jan-05 19:10 
GeneralRe: Opening X509 signed files. Pin
sillypuppy24-Jan-05 23:48
membersillypuppy24-Jan-05 23:48 
GeneralFantastic tool. Pin
sillypuppy22-Jan-05 5:48
membersillypuppy22-Jan-05 5:48 
GeneralRe: Fantastic tool. Pin
Liping Dai22-Jan-05 7:15
memberLiping Dai22-Jan-05 7:15 
GeneralRe: Fantastic tool. Pin
sillypuppy23-Jan-05 1:33
membersillypuppy23-Jan-05 1:33 
GeneralRe: Fantastic tool. Pin
Liping Dai23-Jan-05 8:15
memberLiping Dai23-Jan-05 8:15 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.150731.1 | Last Updated 30 Jun 2008
Article Copyright 2003 by Liping Dai
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid