Overview
Comment: | Implement -description for X509Certificate |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
84117b853b4d928a1d95941a28bbd55e |
User & Date: | florob@babelmonkeys.de on 2011-11-02 00:25:36 |
Other Links: | manifest | tags |
Context
2011-11-04
| ||
19:45 | Cleanup and fix X509Certificate. check-in: 81cee980ef user: js tags: trunk | |
2011-11-02
| ||
00:25 | Implement -description for X509Certificate check-in: 84117b853b user: florob@babelmonkeys.de tags: trunk | |
2011-11-01
| ||
15:09 | Add methods for easier certificate verification check-in: b53c1ba1a8 user: florob@babelmonkeys.de tags: trunk | |
Changes
Modified src/X509Certificate.h from [89a75a3894] to [d580acb74e].
︙ | ︙ | |||
19 20 21 22 23 24 25 26 27 28 29 30 31 32 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #include <openssl/x509.h> #import <ObjFW/OFObject.h> @class OFDictionary; /* OIDs: */ #define OID_commonName @"2.5.4.3" #define OID_surname @"2.5.4.4" #define OID_serialNumber @"2.5.4.5" #define OID_countryName @"2.5.4.6" | > | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #include <openssl/x509.h> #import <ObjFW/OFObject.h> #import <ObjFW/OFString.h> @class OFDictionary; /* OIDs: */ #define OID_commonName @"2.5.4.3" #define OID_surname @"2.5.4.4" #define OID_serialNumber @"2.5.4.5" #define OID_countryName @"2.5.4.6" |
︙ | ︙ | |||
61 62 63 64 65 66 67 | service: (OFString*)service; - (BOOL)X509_isAssertedDomain: (OFString*)asserted equalDomain: (OFString*)domain; - (OFDictionary*)X509_dictionaryFromX509Name: (X509_NAME*)name; - (OFString*)X509_stringFromASN1Object: (ASN1_OBJECT*)obj; - (OFString*)X509_stringFromASN1String: (ASN1_STRING*)str; @end | > > > | 62 63 64 65 66 67 68 69 70 71 | service: (OFString*)service; - (BOOL)X509_isAssertedDomain: (OFString*)asserted equalDomain: (OFString*)domain; - (OFDictionary*)X509_dictionaryFromX509Name: (X509_NAME*)name; - (OFString*)X509_stringFromASN1Object: (ASN1_OBJECT*)obj; - (OFString*)X509_stringFromASN1String: (ASN1_STRING*)str; @end @interface X509OID: OFString {} @end |
Modified src/X509Certificate.m from [c571703a37] to [43e9829432].
︙ | ︙ | |||
85 86 87 88 89 90 91 92 93 94 95 96 97 98 | [subjectAlternativeName release]; if (crt != NULL) X509_free(crt); [super dealloc]; } - (OFDictionary*)issuer { if (issuer == nil) { X509_NAME *name = X509_get_issuer_name(crt); issuer = [[self X509_dictionaryFromX509Name: name] retain]; } | > > > > > > > > > > > > | 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | [subjectAlternativeName release]; if (crt != NULL) X509_free(crt); [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) { X509_NAME *name = X509_get_issuer_name(crt); issuer = [[self X509_dictionaryFromX509Name: name] retain]; } |
︙ | ︙ | |||
379 380 381 382 383 384 385 | char *buf = [self allocMemoryWithSize: buf_len]; OFString *ret; while ((len = OBJ_obj2txt(buf, buf_len, obj, 1)) > buf_len) { buf_len = len; [self resizeMemory: buf toSize: buf_len]; } | | > > > > > > > > > | 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 | char *buf = [self allocMemoryWithSize: buf_len]; OFString *ret; while ((len = OBJ_obj2txt(buf, buf_len, obj, 1)) > buf_len) { buf_len = len; [self resizeMemory: buf toSize: buf_len]; } ret = [X509OID stringWithUTF8String: buf]; [self freeMemory: buf]; return ret; } - (OFString*) X509_stringFromASN1String: (ASN1_STRING*)str { char *buf; OFString *ret; if (ASN1_STRING_to_UTF8((unsigned char**)&buf, str) < 0) @throw [OFInvalidEncodingException exceptionWithClass: isa]; ret = [OFString stringWithUTF8String: buf]; OPENSSL_free(buf); 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 |