Convert crypto_PKCS12Obj->cacerts to a tuple as Jean-Paul pointed out.
diff --git a/src/crypto/pkcs12.c b/src/crypto/pkcs12.c
index 5ef699d..963d29c 100644
--- a/src/crypto/pkcs12.c
+++ b/src/crypto/pkcs12.c
@@ -147,6 +147,7 @@
     if (cacerts == Py_None) {
         /* We are good. */
     } else if (PySequence_Check(cacerts)) {  /* is iterable */
+        /* Check is's a simple list filled only with X509 objects. */
         for(i = 0;i < PySequence_Length(cacerts);i++) {  /* For each CA cert */
             PyObject *obj;
             obj = PySequence_GetItem(cacerts, i);
@@ -157,6 +158,11 @@
             }
             Py_DECREF(obj);
         }
+        cacerts = PySequence_Tuple(cacerts);
+        if(cacerts == NULL) {
+            PyErr_SetString(PyExc_TypeError, "" /* "failed to convert cacerts to a tuple" */); 
+            return NULL;
+        }
     } else {
         PyErr_SetString(PyExc_TypeError, "cacerts must be an iterable or None");
         return NULL;