Skip to content

Commit

Permalink
Initial import
Browse files Browse the repository at this point in the history
The PEM reading code probably doesn't work.
  • Loading branch information
chrisridd committed Jul 8, 2012
1 parent 84162b4 commit eda1c58
Show file tree
Hide file tree
Showing 21 changed files with 6,382 additions and 1 deletion.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -13,3 +13,4 @@ build/*
xcuserdata
profile
*.moved-aside
.DS_Store
Binary file added ASN.1 Dump.xcodeproj/TemplateIcon.icns
Binary file not shown.
351 changes: 351 additions & 0 deletions ASN.1 Dump.xcodeproj/project.pbxproj
@@ -0,0 +1,351 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {

/* Begin PBXBuildFile section */
1DDD582C0DA1D0D100B32029 /* MyDocument.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58280DA1D0D100B32029 /* MyDocument.xib */; };
1DDD582D0DA1D0D100B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD582A0DA1D0D100B32029 /* MainMenu.xib */; };
67743C8015AA190E00AFD9A3 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 67743C7F15AA190E00AFD9A3 /* README.md */; };
67826B0D0E4D8000009312C6 /* HexNumberFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 67826B0C0E4D8000009312C6 /* HexNumberFormatter.m */; };
67C9B8610E46027C004DB4E9 /* ASN1Node.m in Sources */ = {isa = PBXBuildFile; fileRef = 67C9B8600E46027C004DB4E9 /* ASN1Node.m */; };
67C9B8960E4607FD004DB4E9 /* berd.m in Sources */ = {isa = PBXBuildFile; fileRef = 67C9B8950E4607FD004DB4E9 /* berd.m */; };
67C9B89D0E460999004DB4E9 /* NSData+Utils.m in Sources */ = {isa = PBXBuildFile; fileRef = 67C9B89C0E460999004DB4E9 /* NSData+Utils.m */; };
8D15AC2C0486D014006FF6A4 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 2A37F4B9FDCFA73011CA2CEA /* Credits.rtf */; };
8D15AC2F0486D014006FF6A4 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165FFE840EACC02AAC07 /* InfoPlist.strings */; };
8D15AC310486D014006FF6A4 /* MyDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */; settings = {ATTRIBUTES = (); }; };
8D15AC320486D014006FF6A4 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A37F4B0FDCFA73011CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
8D15AC340486D014006FF6A4 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
089C1660FE840EACC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
13E42FBA07B3F13500E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
1DDD58290DA1D0D100B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MyDocument.xib; sourceTree = "<group>"; };
1DDD582B0DA1D0D100B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = "<group>"; };
2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyDocument.m; sourceTree = "<group>"; };
2A37F4AEFDCFA73011CA2CEA /* MyDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyDocument.h; sourceTree = "<group>"; };
2A37F4B0FDCFA73011CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
2A37F4BAFDCFA73011CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = English.lproj/Credits.rtf; sourceTree = "<group>"; };
2A37F4C4FDCFA73011CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
2A37F4C5FDCFA73011CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
32DBCF750370BD2300C91783 /* ASN.1 Dump_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ASN.1 Dump_Prefix.pch"; sourceTree = "<group>"; };
67743C7F15AA190E00AFD9A3 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.md; sourceTree = "<group>"; };
67826B0B0E4D8000009312C6 /* HexNumberFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexNumberFormatter.h; sourceTree = "<group>"; };
67826B0C0E4D8000009312C6 /* HexNumberFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HexNumberFormatter.m; sourceTree = "<group>"; };
67C9B85F0E46027C004DB4E9 /* ASN1Node.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASN1Node.h; sourceTree = "<group>"; };
67C9B8600E46027C004DB4E9 /* ASN1Node.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASN1Node.m; sourceTree = "<group>"; };
67C9B8950E4607FD004DB4E9 /* berd.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = berd.m; sourceTree = "<group>"; };
67C9B89B0E460999004DB4E9 /* NSData+Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSData+Utils.h"; sourceTree = "<group>"; };
67C9B89C0E460999004DB4E9 /* NSData+Utils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSData+Utils.m"; sourceTree = "<group>"; };
67C9B8C80E4611AC004DB4E9 /* berd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = berd.h; sourceTree = "<group>"; };
8D15AC360486D014006FF6A4 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
8D15AC370486D014006FF6A4 /* ASN.1 Dump.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "ASN.1 Dump.app"; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
8D15AC330486D014006FF6A4 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8D15AC340486D014006FF6A4 /* Cocoa.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
1058C7A6FEA54F5311CA2CBB /* Linked Frameworks */ = {
isa = PBXGroup;
children = (
1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */,
);
name = "Linked Frameworks";
sourceTree = "<group>";
};
1058C7A8FEA54F5311CA2CBB /* Other Frameworks */ = {
isa = PBXGroup;
children = (
2A37F4C4FDCFA73011CA2CEA /* AppKit.framework */,
13E42FBA07B3F13500E4EEF1 /* CoreData.framework */,
2A37F4C5FDCFA73011CA2CEA /* Foundation.framework */,
);
name = "Other Frameworks";
sourceTree = "<group>";
};
19C28FB0FE9D524F11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8D15AC370486D014006FF6A4 /* ASN.1 Dump.app */,
);
name = Products;
sourceTree = "<group>";
};
2A37F4AAFDCFA73011CA2CEA /* ASN.1 Dump */ = {
isa = PBXGroup;
children = (
2A37F4ABFDCFA73011CA2CEA /* Classes */,
67743C8115AA192A00AFD9A3 /* Documentation */,
2A37F4AFFDCFA73011CA2CEA /* Other Sources */,
2A37F4B8FDCFA73011CA2CEA /* Resources */,
2A37F4C3FDCFA73011CA2CEA /* Frameworks */,
19C28FB0FE9D524F11CA2CBB /* Products */,
);
name = "ASN.1 Dump";
sourceTree = "<group>";
};
2A37F4ABFDCFA73011CA2CEA /* Classes */ = {
isa = PBXGroup;
children = (
67826B0B0E4D8000009312C6 /* HexNumberFormatter.h */,
67826B0C0E4D8000009312C6 /* HexNumberFormatter.m */,
2A37F4AEFDCFA73011CA2CEA /* MyDocument.h */,
2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */,
67C9B8950E4607FD004DB4E9 /* berd.m */,
67C9B8C80E4611AC004DB4E9 /* berd.h */,
67C9B85F0E46027C004DB4E9 /* ASN1Node.h */,
67C9B8600E46027C004DB4E9 /* ASN1Node.m */,
67C9B89B0E460999004DB4E9 /* NSData+Utils.h */,
67C9B89C0E460999004DB4E9 /* NSData+Utils.m */,
);
name = Classes;
sourceTree = "<group>";
};
2A37F4AFFDCFA73011CA2CEA /* Other Sources */ = {
isa = PBXGroup;
children = (
32DBCF750370BD2300C91783 /* ASN.1 Dump_Prefix.pch */,
2A37F4B0FDCFA73011CA2CEA /* main.m */,
);
name = "Other Sources";
sourceTree = "<group>";
};
2A37F4B8FDCFA73011CA2CEA /* Resources */ = {
isa = PBXGroup;
children = (
2A37F4B9FDCFA73011CA2CEA /* Credits.rtf */,
8D15AC360486D014006FF6A4 /* Info.plist */,
089C165FFE840EACC02AAC07 /* InfoPlist.strings */,
1DDD58280DA1D0D100B32029 /* MyDocument.xib */,
1DDD582A0DA1D0D100B32029 /* MainMenu.xib */,
);
name = Resources;
sourceTree = "<group>";
};
2A37F4C3FDCFA73011CA2CEA /* Frameworks */ = {
isa = PBXGroup;
children = (
1058C7A6FEA54F5311CA2CBB /* Linked Frameworks */,
1058C7A8FEA54F5311CA2CBB /* Other Frameworks */,
);
name = Frameworks;
sourceTree = "<group>";
};
67743C8115AA192A00AFD9A3 /* Documentation */ = {
isa = PBXGroup;
children = (
67743C7F15AA190E00AFD9A3 /* README.md */,
);
name = Documentation;
sourceTree = "<group>";
};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
8D15AC270486D014006FF6A4 /* ASN.1 Dump */ = {
isa = PBXNativeTarget;
buildConfigurationList = C05733C708A9546B00998B17 /* Build configuration list for PBXNativeTarget "ASN.1 Dump" */;
buildPhases = (
8D15AC2B0486D014006FF6A4 /* Resources */,
8D15AC300486D014006FF6A4 /* Sources */,
8D15AC330486D014006FF6A4 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = "ASN.1 Dump";
productInstallPath = "$(HOME)/Applications";
productName = "ASN.1 Dump";
productReference = 8D15AC370486D014006FF6A4 /* ASN.1 Dump.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
2A37F4A9FDCFA73011CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0430;
};
buildConfigurationList = C05733CB08A9546B00998B17 /* Build configuration list for PBXProject "ASN.1 Dump" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
);
mainGroup = 2A37F4AAFDCFA73011CA2CEA /* ASN.1 Dump */;
projectDirPath = "";
projectRoot = "";
targets = (
8D15AC270486D014006FF6A4 /* ASN.1 Dump */,
);
};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
8D15AC2B0486D014006FF6A4 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8D15AC2C0486D014006FF6A4 /* Credits.rtf in Resources */,
8D15AC2F0486D014006FF6A4 /* InfoPlist.strings in Resources */,
1DDD582C0DA1D0D100B32029 /* MyDocument.xib in Resources */,
1DDD582D0DA1D0D100B32029 /* MainMenu.xib in Resources */,
67743C8015AA190E00AFD9A3 /* README.md in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
8D15AC300486D014006FF6A4 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8D15AC310486D014006FF6A4 /* MyDocument.m in Sources */,
8D15AC320486D014006FF6A4 /* main.m in Sources */,
67C9B8610E46027C004DB4E9 /* ASN1Node.m in Sources */,
67C9B8960E4607FD004DB4E9 /* berd.m in Sources */,
67C9B89D0E460999004DB4E9 /* NSData+Utils.m in Sources */,
67826B0D0E4D8000009312C6 /* HexNumberFormatter.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */

/* Begin PBXVariantGroup section */
089C165FFE840EACC02AAC07 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
089C1660FE840EACC02AAC07 /* English */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
1DDD58280DA1D0D100B32029 /* MyDocument.xib */ = {
isa = PBXVariantGroup;
children = (
1DDD58290DA1D0D100B32029 /* English */,
);
name = MyDocument.xib;
sourceTree = "<group>";
};
1DDD582A0DA1D0D100B32029 /* MainMenu.xib */ = {
isa = PBXVariantGroup;
children = (
1DDD582B0DA1D0D100B32029 /* English */,
);
name = MainMenu.xib;
sourceTree = "<group>";
};
2A37F4B9FDCFA73011CA2CEA /* Credits.rtf */ = {
isa = PBXVariantGroup;
children = (
2A37F4BAFDCFA73011CA2CEA /* English */,
);
name = Credits.rtf;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
C05733C808A9546B00998B17 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "ASN.1 Dump_Prefix.pch";
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Applications";
PRODUCT_NAME = "ASN.1 Dump";
};
name = Debug;
};
C05733C908A9546B00998B17 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_MODEL_TUNING = G5;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "ASN.1 Dump_Prefix.pch";
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Applications";
PRODUCT_NAME = "ASN.1 Dump";
};
name = Release;
};
C05733CC08A9546B00998B17 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
C05733CD08A9546B00998B17 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
SDKROOT = macosx;
};
name = Release;
};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
C05733C708A9546B00998B17 /* Build configuration list for PBXNativeTarget "ASN.1 Dump" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C05733C808A9546B00998B17 /* Debug */,
C05733C908A9546B00998B17 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
C05733CB08A9546B00998B17 /* Build configuration list for PBXProject "ASN.1 Dump" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C05733CC08A9546B00998B17 /* Debug */,
C05733CD08A9546B00998B17 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 2A37F4A9FDCFA73011CA2CEA /* Project object */;
}
7 changes: 7 additions & 0 deletions ASN.1 Dump_Prefix.pch
@@ -0,0 +1,7 @@
//
// Prefix header for all source files of the 'ASN.1 Dump' target in the 'ASN.1 Dump' project
//

#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
#endif
34 changes: 34 additions & 0 deletions ASN1Node.h
@@ -0,0 +1,34 @@
//
// ASN1Node.h
// ASN.1 Dump
//
// Created by Chris on 03/08/2008.
// Copyright 2008-2012 Chris Ridd. All rights reserved.
//

#import <Cocoa/Cocoa.h>

@interface ASN1Node : NSObject {
NSString *tag;
NSString *length;
NSString *value;
NSNumber *offset;
NSMutableArray *children;
}

+ (id)nodeWithTag:(NSString *)s offset:(NSNumber *)p;
+ (id)nodeWithTag:(NSString *)s;

- (id)initWithTag:(NSString *)s;
- (id)initWithTag:(NSString *)s offset:(NSNumber *)p;

- (void)setTag:(NSString *)s;
- (void)setLength:(NSString *)s;
- (void)setValue:(NSString *)s;
- (NSString *)string;
- (NSNumber *)offset;

- (void)addChild:(ASN1Node *)n;
- (ASN1Node *)child:(NSInteger)i;
- (NSInteger)numberOfChildren;
@end

0 comments on commit eda1c58

Please sign in to comment.