X509Ext str/unicode fixes
diff --git a/OpenSSL/crypto/x509ext.c b/OpenSSL/crypto/x509ext.c
index 28e8805..d629732 100644
--- a/OpenSSL/crypto/x509ext.c
+++ b/OpenSSL/crypto/x509ext.c
@@ -186,10 +186,12 @@
     static char *kwlist[] = {"type_name", "critical", "value", "subject",
                              "issuer", NULL};
 
-    if (!PyArg_ParseTupleAndKeywords(args, kwargs, "sis|O!O!:X509Extension",
-                                     kwlist, &type_name, &critical, &value,
-                                     &crypto_X509_Type, &subject,
-                                     &crypto_X509_Type, &issuer )) {
+    if (!PyArg_ParseTupleAndKeywords(
+            args, kwargs,
+            BYTESTRING_FMT "i" BYTESTRING_FMT "|O!O!:X509Extension",
+            kwlist, &type_name, &critical, &value,
+            &crypto_X509_Type, &subject,
+            &crypto_X509_Type, &issuer )) {
         return NULL;
     }