diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2014-05-12 19:27:41 +0200 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2014-05-12 19:31:19 +0200 |
commit | 32c400792341b8135ec115643abacf5288e566df (patch) | |
tree | 8da8bedd87a15055ddf0612ab0fe729937a0c1ef /M2Crypto_ext.i | |
parent | 2c7d170690de22ce897e1f04dad03dcce2886cf7 (diff) | |
download | m2crypto_ext-32c400792341b8135ec115643abacf5288e566df.tar.gz m2crypto_ext-32c400792341b8135ec115643abacf5288e566df.tar.bz2 m2crypto_ext-32c400792341b8135ec115643abacf5288e566df.zip |
x509_extension_get_data now returns a python string
Diffstat (limited to 'M2Crypto_ext.i')
-rw-r--r-- | M2Crypto_ext.i | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/M2Crypto_ext.i b/M2Crypto_ext.i index 0856215..50bdd4a 100644 --- a/M2Crypto_ext.i +++ b/M2Crypto_ext.i @@ -16,7 +16,15 @@ STACK_OF(X509_EXTENSION) *x509_req_get_extensions(X509_REQ *req) { %} %inline %{ -ASN1_OCTET_STRING *x509_extension_get_data(X509_EXTENSION *ext) { - return X509_EXTENSION_get_data(ext); +PyObject *x509_extension_get_data(X509_EXTENSION *ext) { + ASN1_OCTET_STRING *octet_str = X509_EXTENSION_get_data(ext); + const unsigned char* octet_str_data = octet_str->data; + long xlen; + int tag, xclass; + ASN1_get_object(&octet_str_data, &xlen, &tag, &xclass, octet_str->length); + + PyObject * encodedString; + encodedString = PyString_FromStringAndSize((const char *)octet_str_data, octet_str->length); + return encodedString; } %} |