diff --git a/src/X509Certificate.h b/src/X509Certificate.h index 3d53756..ecccfbb 100644 --- a/src/X509Certificate.h +++ b/src/X509Certificate.h @@ -23,6 +23,7 @@ #include #import +#import @class OFDictionary; /* OIDs: */ @@ -65,3 +66,6 @@ - (OFString*)X509_stringFromASN1Object: (ASN1_OBJECT*)obj; - (OFString*)X509_stringFromASN1String: (ASN1_STRING*)str; @end + +@interface X509OID: OFString {} +@end diff --git a/src/X509Certificate.m b/src/X509Certificate.m index aab1fce..1e415c3 100644 --- a/src/X509Certificate.m +++ b/src/X509Certificate.m @@ -90,6 +90,18 @@ [super dealloc]; } +- (OFString*)description +{ + OFMutableString *ret = nil;//[OFMutableString string]; + + [ret appendFormat: @"Issuer: %@\n\n", [self issuer]]; + [ret appendFormat: @"Subject: %@\n\n", [self subject]]; + [ret appendFormat: @"SANs: %@", [self subjectAlternativeName]]; + + [ret makeImmutable]; + return ret; +} + - (OFDictionary*)issuer { if (issuer == nil) { @@ -383,7 +395,7 @@ [self resizeMemory: buf toSize: buf_len]; } - ret = [OFString stringWithUTF8String: buf]; + ret = [X509OID stringWithUTF8String: buf]; [self freeMemory: buf]; return ret; } @@ -399,3 +411,12 @@ return ret; } @end + +@implementation X509OID +- (OFString*)description +{ + char tmp[1024]; + OBJ_obj2txt(tmp, sizeof(tmp), OBJ_txt2obj(s->cString, 1), 0); + return [OFString stringWithUTF8String: tmp]; +} +@end