components/python/m2crypto/patches/crl.patch
author Mike Sullivan <Mike.Sullivan@Oracle.COM>
Mon, 11 Mar 2013 10:38:09 -0700
branchs11-update
changeset 2520 ceec631e74d1
parent 394 dffc35307ef2
permissions -rw-r--r--
Close of build 10.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
394
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
     1
diff -r 886cd7fb12ed M2Crypto-0.21.1/M2Crypto/X509.py
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
     2
--- M2Crypto-0.21.1/M2Crypto/X509.py	Thu Mar 10 14:07:58 2011 -0800
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
     3
+++ M2Crypto-0.21.1/M2Crypto/X509.py	Fri Mar 11 09:03:37 2011 -0800
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
     4
@@ -446,9 +446,9 @@
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
     5
         assert m2.x509_type_check(self.x509), "'x509' type error"
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
     6
         return ASN1.ASN1_UTCTIME(m2.x509_get_not_after(self.x509))
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
     7
 
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
     8
-    def get_pubkey(self):
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
     9
+    def get_pubkey(self, md="sha1"):
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    10
         assert m2.x509_type_check(self.x509), "'x509' type error"
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    11
-        return EVP.PKey(m2.x509_get_pubkey(self.x509), _pyfree=1)
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    12
+        return EVP.PKey(m2.x509_get_pubkey(self.x509), _pyfree=1, md=md)
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    13
 
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    14
     def set_pubkey(self, pkey):
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    15
         """
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    16
@@ -1067,7 +1067,8 @@
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    17
         else:
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    18
             self.crl = m2.x509_crl_new()
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    19
             self._pyfree = 1
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    20
-            
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    21
+        self.revocations = None
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    22
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    23
     def __del__(self):
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    24
         if getattr(self, '_pyfree', 0):
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    25
             self.m2_x509_crl_free(self.crl)
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    26
@@ -1084,21 +1085,67 @@
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    27
         return buf.read_all()
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    28
 
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    29
 
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    30
-def load_crl(file):
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    31
+    def get_last_update(self):
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    32
+        assert m2.x509_CRL_type_check(self.crl), "'x509_CRL' type error"
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    33
+        return ASN1.ASN1_UTCTIME(m2.x509_CRL_get_last_update(self.crl))
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    34
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    35
+    def get_next_update(self):
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    36
+        assert m2.x509_CRL_type_check(self.crl), "'x509_CRL' type error"
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    37
+        return ASN1.ASN1_UTCTIME(m2.x509_CRL_get_next_update(self.crl))
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    38
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    39
+    def verify(self, pkey):
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    40
+        assert m2.x509_CRL_type_check(self.crl), "'x509_CRL' type error"
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    41
+        return m2.x509_CRL_verify(self.crl, pkey.pkey)
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    42
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    43
+    def get_issuer(self):
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    44
+        assert m2.x509_CRL_type_check(self.crl), "'x509_CRL' type error"
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    45
+        return X509_Name(m2.x509_CRL_get_issuer(self.crl))
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    46
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    47
+    def is_revoked(self, cert):
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    48
+        if self.revocations is None:
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    49
+            self.revocations = {}
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    50
+            revo_stk_ptr = m2.x509_CRL_get_revoked(self.crl)
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    51
+            for i in range(m2.sk_x509_REVOKED_num(revo_stk_ptr)):
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    52
+                revo_ptr = m2.sk_x509_REVOKED_get(revo_stk_ptr, i)
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    53
+                revo_sn = m2.asn1_integer_get(
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    54
+                    m2.x509_REVOKED_get_serial_number(revo_ptr))
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    55
+                cnt = m2.x509_REVOKED_get_ext_count(revo_ptr)
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    56
+                reason = None
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    57
+                for i in range(m2.x509_REVOKED_get_ext_count(revo_ptr)):
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    58
+                    ext_ptr = m2.x509_REVOKED_get_ext(revo_ptr, i)
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    59
+                    name = m2.x509_extension_get_name(ext_ptr)
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    60
+                    if name == "CRLReason":
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    61
+                        ext = X509_Extension(ext_ptr, _pyfree=0)
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    62
+                        reason = ext.get_value()
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    63
+                self.revocations[revo_sn] = (True, reason)
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    64
+        return self.revocations.get(cert.get_serial_number(), None)
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    65
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    66
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    67
+def load_crl(file, format=FORMAT_PEM):
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    68
     """
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    69
     Load CRL from file.
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    70
 
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    71
     @type file: string
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    72
     @param file: Name of file containing CRL in PEM format.
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    73
 
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    74
+    @type format: int, either FORMAT_PEM or FORMAT_DER
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    75
+    @param format: Describes the format of the file to be loaded, either PEM or DER.
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    76
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    77
     @rtype: M2Crypto.X509.CRL
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    78
     @return: M2Crypto.X509.CRL object.
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    79
     """
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    80
     f=BIO.openfile(file)
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    81
-    cptr=m2.x509_crl_read_pem(f.bio_ptr())
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    82
-    f.close()
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    83
-    if cptr is None:
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    84
-        raise X509Error(Err.get_error())
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    85
-    return CRL(cptr, 1)
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    86
-
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    87
-
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    88
+    if format == FORMAT_PEM:
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    89
+        cptr=m2.x509_crl_read_pem(f.bio_ptr())
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    90
+        f.close()
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    91
+        if cptr is None:
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    92
+            raise X509Error(Err.get_error())
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    93
+        return CRL(cptr, 1)
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    94
+    elif format == FORMAT_DER:
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    95
+        cptr=m2.d2i_x509_crl(f._ptr())
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    96
+        f.close()
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    97
+        if cptr is None:
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    98
+            raise X509Error(Err.get_error())
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
    99
+        return CRL(cptr, 1)
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   100
+    else:
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   101
+        raise ValueError("Unknown format. Must be either FORMAT_DER or FORMAT_PEM")
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   102
diff -r 886cd7fb12ed M2Crypto-0.21.1/SWIG/_x509.i
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   103
--- M2Crypto-0.21.1/SWIG/_x509.i	Thu Mar 10 14:07:58 2011 -0800
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   104
+++ M2Crypto-0.21.1/SWIG/_x509.i	Fri Mar 11 09:03:37 2011 -0800
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   105
@@ -64,6 +64,9 @@
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   106
 %rename(x509_cmp_current_time) X509_cmp_current_time;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   107
 extern int X509_cmp_current_time(ASN1_UTCTIME *);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   108
 
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   109
+%rename(x509_CRL_get_issuer) X509_CRL_get_issuer;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   110
+extern X509_NAME *X509_CRL_get_issuer(X509_CRL *);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   111
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   112
                             
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   113
 /* From x509.h */
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   114
 /* standard trust ids */
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   115
@@ -111,6 +114,9 @@
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   116
 %rename(x509_get_verify_error) X509_verify_cert_error_string;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   117
 extern const char *X509_verify_cert_error_string(long);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   118
 
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   119
+%rename(x509_CRL_verify) X509_CRL_verify;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   120
+extern int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   121
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   122
 %constant long X509V3_EXT_UNKNOWN_MASK         = (0xfL << 16);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   123
 %constant long X509V3_EXT_DEFAULT              = 0;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   124
 %constant long X509V3_EXT_ERROR_UNKNOWN        = (1L << 16);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   125
@@ -127,6 +133,13 @@
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   126
 %threadallow X509V3_EXT_print;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   127
 extern int X509V3_EXT_print(BIO *, X509_EXTENSION *, unsigned long, int);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   128
 
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   129
+%rename(x509_REVOKED_get_ext_count) X509_REVOKED_get_ext_count;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   130
+extern int X509_REVOKED_get_ext_count(X509_REVOKED *);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   131
+%rename(x509_REVOKED_get_ext) X509_REVOKED_get_ext;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   132
+extern X509_EXTENSION *X509_REVOKED_get_ext(X509_REVOKED *, int);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   133
+%rename(x509_REVOKED_get_ext_by_NID) X509_REVOKED_get_ext_by_NID;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   134
+extern X509_EXTENSION *X509_REVOKED_get_ext_by_NID(X509_REVOKED *, int, int);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   135
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   136
 %rename(x509_name_new) X509_NAME_new;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   137
 extern X509_NAME *X509_NAME_new( void );
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   138
 %rename(x509_name_free) X509_NAME_free;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   139
@@ -335,6 +348,7 @@
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   140
 }
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   141
 %}
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   142
 
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   143
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   144
 %threadallow d2i_x509;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   145
 %inline %{
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   146
 X509 *d2i_x509(BIO *bio) {
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   147
@@ -342,6 +356,13 @@
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   148
 }
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   149
 %}
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   150
 
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   151
+%threadallow d2i_x509_crl;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   152
+%inline %{
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   153
+X509_CRL *d2i_x509_crl(BIO *bio) {
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   154
+    return d2i_X509_CRL_bio(bio, NULL);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   155
+}
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   156
+%}
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   157
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   158
 %threadallow d2i_x509_req;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   159
 %inline %{
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   160
 X509_REQ *d2i_x509_req(BIO *bio) {
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   161
@@ -415,6 +436,33 @@
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   162
     return X509_get_notAfter(x);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   163
 }
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   164
 
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   165
+/* X509_CRL_get_lastUpdate() is a macro. */
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   166
+ASN1_UTCTIME *x509_CRL_get_last_update(X509_CRL *x) {
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   167
+    return X509_CRL_get_lastUpdate(x);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   168
+}
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   169
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   170
+/* X509_CRL_get_nextUpdate() is a macro. */
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   171
+ASN1_UTCTIME *x509_CRL_get_next_update(X509_CRL *x) {
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   172
+    return X509_CRL_get_nextUpdate(x);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   173
+}
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   174
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   175
+/* X509_CRL_get_REVOKED() is a macro. */
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   176
+STACK_OF(X509_REVOKED) *x509_CRL_get_revoked(X509_CRL *x) {
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   177
+    return X509_CRL_get_REVOKED(x);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   178
+}
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   179
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   180
+int sk_x509_REVOKED_num(STACK_OF(X509_REVOKED) *stack) {
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   181
+    return sk_X509_REVOKED_num(stack);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   182
+}
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   183
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   184
+X509_REVOKED *sk_x509_REVOKED_get(STACK_OF(X509_REVOKED) *stack, int x) {
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   185
+    return sk_X509_REVOKED_value(stack, x);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   186
+}
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   187
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   188
+ASN1_INTEGER *x509_REVOKED_get_serial_number(X509_REVOKED *x) {
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   189
+    return x->serialNumber;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   190
+}
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   191
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   192
 int x509_sign(X509 *x, EVP_PKEY *pkey, EVP_MD *md) {
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   193
     return X509_sign(x, pkey, md);
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   194
 }
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   195
@@ -487,6 +535,10 @@
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   196
     return 1;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   197
 }
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   198
 
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   199
+int x509_CRL_type_check(X509_CRL *x509_CRL) {
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   200
+    return 1;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   201
+}
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   202
+
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   203
 int x509_name_type_check(X509_NAME *name) {
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   204
     return 1;
dffc35307ef2 7051374 3rd party libraries in IPS gate should move to userland
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
diff changeset
   205
 }