PyObject *xmlSecDSigCtx_setattr(PyObject *self, PyObject *args) { PyObject *dsigCtx_obj, *value_obj; xmlSecDSigCtxPtr dsigCtx; const char *name; if (CheckArgs(args, "OS?:dsigCtxSetAttr")) { if (!PyArg_ParseTuple(args, "OsO:dsigCtxSetAttr", &dsigCtx_obj, &name, &value_obj)) return NULL; } else return NULL; dsigCtx = xmlSecDSigCtxPtr_get(dsigCtx_obj); if (!strcmp(name, "flags")) dsigCtx->flags = PyInt_AsLong(value_obj); else if (!strcmp(name, "flags2")) dsigCtx->flags2 = PyInt_AsLong(value_obj); else if (!strcmp(name, "keyInfoReadCtx")) dsigCtx->keyInfoReadCtx = *(xmlSecKeyInfoCtxPtr_get(value_obj)); else if (!strcmp(name, "keyInfoWriteCtx")) dsigCtx->keyInfoWriteCtx = *(xmlSecKeyInfoCtxPtr_get(value_obj)); else if (!strcmp(name, "transformCtx")) dsigCtx->transformCtx = *(xmlSecTransformCtxPtr_get(value_obj)); else if (!strcmp(name, "enabledReferenceUris")) dsigCtx->enabledReferenceUris = PyInt_AsLong(value_obj); else if (!strcmp(name, "enabledReferenceTransforms")) dsigCtx->enabledReferenceTransforms = xmlSecPtrListPtr_get(value_obj); else if (!strcmp(name, "defSignMethodId")) dsigCtx->defSignMethodId = xmlSecTransformId_get(value_obj); else if (!strcmp(name, "defC14NMethodId")) dsigCtx->defC14NMethodId = xmlSecTransformId_get(value_obj); else if (!strcmp(name, "defDigestMethodId")) dsigCtx->defDigestMethodId = xmlSecTransformId_get(value_obj); else if (!strcmp(name, "signKey")) dsigCtx->signKey = xmlSecKeyPtr_get(value_obj); else if (!strcmp(name, "operation")) dsigCtx->operation = PyInt_AsLong(value_obj); else if (!strcmp(name, "result")) dsigCtx->result = xmlSecBufferPtr_get(value_obj); else if (!strcmp(name, "status")) dsigCtx->status = PyInt_AsLong(value_obj); else if (!strcmp(name, "signMethod")) dsigCtx->signMethod = xmlSecTransformPtr_get(value_obj); else if (!strcmp(name, "c14nMethod")) dsigCtx->c14nMethod = xmlSecTransformPtr_get(value_obj); else if (!strcmp(name, "preSignMemBufMethod")) dsigCtx->preSignMemBufMethod = xmlSecTransformPtr_get(value_obj); else if (!strcmp(name, "signValueNode")) dsigCtx->signValueNode = xmlNodePtr_get(value_obj); else if (!strcmp(name, "id")) dsigCtx->id = (xmlChar *)PyString_AsString(value_obj); else if (!strcmp(name, "signedInfoReferences")) dsigCtx->signedInfoReferences = *(xmlSecPtrListPtr_get(value_obj)); else if (!strcmp(name, "manifestReferences")) dsigCtx->manifestReferences = *(xmlSecPtrListPtr_get(value_obj)); Py_INCREF(Py_None); return (Py_None); }
PyObject *xmlsec_KeyDataBinWrite(PyObject *self, PyObject *args) { PyObject *id_obj, *key_obj, *keyInfoCtx_obj; xmlSecKeyDataId id; xmlSecKeyPtr key; // FIXME //xmlSecByte **buf; //xmlSecSize *bufSize; xmlSecByte *buf; xmlSecSize bufSize; xmlSecKeyInfoCtxPtr keyInfoCtx; if (CheckArgs(args, "OOSIO:keyDataBinWrite")) { if (!PyArg_ParseTuple(args, "OOsiO:keyDataBinWrite", &id_obj, &key_obj, &buf, &bufSize, &keyInfoCtx_obj)) return NULL; } else return NULL; id = xmlSecKeyDataId_get(id_obj); key = xmlSecKeyPtr_get(key_obj); keyInfoCtx = xmlSecKeyInfoCtxPtr_get(keyInfoCtx_obj); //return (wrap_int(xmlSecKeyDataBinWrite(id, key, buf, bufSize, keyInfoCtx))); return (wrap_int(xmlSecKeyDataBinWrite(id, key, &buf, &bufSize, keyInfoCtx))); }
PyObject *xmlSecEncCtx_setattr(PyObject *self, PyObject *args) { PyObject *encCtx_obj, *value_obj; xmlSecEncCtxPtr encCtx; const char *name; if (CheckArgs(args, "OSO:encCtxSetAttr")) { if (!PyArg_ParseTuple(args, "OsO:encCtxSetAttr", &encCtx_obj, &name, &value_obj)) return NULL; } else return NULL; encCtx = xmlSecEncCtxPtr_get(encCtx_obj); if (!strcmp(name, "flags")) encCtx->flags = PyInt_AsLong(value_obj); else if (!strcmp(name, "flags2")) encCtx->flags2 = PyInt_AsLong(value_obj); else if (!strcmp(name, "mode")) encCtx->mode = PyInt_AsLong(value_obj); else if (!strcmp(name, "keyInfoReadCtx")) encCtx->keyInfoReadCtx = *(xmlSecKeyInfoCtxPtr_get(value_obj)); else if (!strcmp(name, "keyInfoWriteCtx")) encCtx->keyInfoWriteCtx = *(xmlSecKeyInfoCtxPtr_get(value_obj)); else if (!strcmp(name, "transformCtx")) encCtx->transformCtx = *(xmlSecTransformCtxPtr_get(value_obj)); else if (!strcmp(name, "defEncMethodId")) encCtx->defEncMethodId = xmlSecTransformId_get(value_obj); else if (!strcmp(name, "encKey")) encCtx->encKey = xmlSecKeyPtr_get(value_obj); else if (!strcmp(name, "operation")) encCtx->operation = PyInt_AsLong(value_obj); else if (!strcmp(name, "result")) encCtx->result = xmlSecBufferPtr_get(value_obj); else if (!strcmp(name, "resultBase64Encoded")) encCtx->resultBase64Encoded = PyInt_AsLong(value_obj); else if (!strcmp(name, "resultReplaced")) encCtx->resultReplaced = PyInt_AsLong(value_obj); else if (!strcmp(name, "encMethod")) encCtx->encMethod = xmlSecTransformPtr_get(value_obj); else if (!strcmp(name, "id")) encCtx->id = (xmlChar *)PyString_AsString(value_obj); else if (!strcmp(name, "type")) encCtx->type = (xmlChar *)PyString_AsString(value_obj); else if (!strcmp(name, "mimeType")) encCtx->mimeType = (xmlChar *)PyString_AsString(value_obj); else if (!strcmp(name, "encoding")) encCtx->encoding = (xmlChar *)PyString_AsString(value_obj); else if (!strcmp(name, "recipient")) encCtx->recipient = (xmlChar *)PyString_AsString(value_obj); else if (!strcmp(name, "carriedKeyName")) encCtx->carriedKeyName = (xmlChar *)PyString_AsString(value_obj); Py_INCREF(Py_None); return (Py_None); }
static xmlSecKeyPtr xmlsec_GetKeyCallback(xmlNodePtr keyInfoNode, xmlSecKeyInfoCtxPtr keyInfoCtx) { PyObject *args, *result; PyObject *func = NULL; func = xmlHashLookup(GetKeyCallbacks, keyInfoCtx->keysMngr->keysStore->id->name); args = Py_BuildValue((char *) "OO", wrap_xmlNodePtr(keyInfoNode), wrap_xmlSecKeyInfoCtxPtr(keyInfoCtx)); Py_INCREF(func); result = PyEval_CallObject(func, args); Py_DECREF(func); Py_DECREF(args); return (xmlSecKeyPtr_get(result)); }
PyObject *xmlsec_TransformSetKey(PyObject *self, PyObject *args) { PyObject *transform_obj, *key_obj; xmlSecTransformPtr transform; xmlSecKeyPtr key; int ret; if (CheckArgs(args, "OO:transformSetKey")) { if(!PyArg_ParseTuple(args, (char *) "OO:transformSetKey", &transform_obj, &key_obj)) return NULL; } else return NULL; transform = xmlSecTransformPtr_get(transform_obj); key = xmlSecKeyPtr_get(key_obj); ret = xmlSecTransformSetKey(transform, key); return (wrap_int(ret)); }
PyObject *xmlsec_KeyInfoNodeWrite(PyObject *self, PyObject *args) { PyObject *keyInfoNode_obj, *key_obj, *keyInfoCtx_obj; xmlNodePtr keyInfoNode; xmlSecKeyPtr key; xmlSecKeyInfoCtxPtr keyInfoCtx; if (CheckArgs(args, "OOO:keyInfoNodeWrite")) { if (!PyArg_ParseTuple(args, "OOO:keyInfoNodeWrite", &keyInfoNode_obj, &key_obj, &keyInfoCtx_obj)) return NULL; } else return NULL; keyInfoNode = xmlNodePtr_get(keyInfoNode_obj); key = xmlSecKeyPtr_get(key_obj); keyInfoCtx = xmlSecKeyInfoCtxPtr_get(keyInfoCtx_obj); return (wrap_int(xmlSecKeyInfoNodeWrite(keyInfoNode, key, keyInfoCtx))); }
static xmlSecKeyPtr xmlsec_KeyStoreFindKeyMethod(xmlSecKeyStorePtr store, xmlChar *name, xmlSecKeyInfoCtxPtr keyInfoCtx) { PyObject *args, *result; PyObject *func = NULL; func = xmlHashLookup(KeyStoreFindKeyMethods, store->id->name); args = Py_BuildValue((char *) "OsO", wrap_xmlSecKeyStorePtr(store), name, wrap_xmlSecKeyInfoCtxPtr(keyInfoCtx)); Py_INCREF(func); result = PyEval_CallObject(func, args); if (result == NULL) { return (NULL); } Py_DECREF(func); Py_DECREF(args); return (xmlSecKeyPtr_get(result)); }
PyObject *xmlsec_KeyDataXmlWrite(PyObject *self, PyObject *args) { PyObject *id_obj, *key_obj, *node_obj, *keyInfoCtx_obj; xmlSecKeyDataId id; xmlSecKeyPtr key; xmlNodePtr node; xmlSecKeyInfoCtxPtr keyInfoCtx; if (CheckArgs(args, "OOOO:keyDataXmlWrite")) { if (!PyArg_ParseTuple(args, "OOOO:keyDataXmlWrite", &id_obj, &key_obj, &node_obj, &keyInfoCtx_obj)) return NULL; } else return NULL; id = xmlSecKeyDataId_get(id_obj); key = xmlSecKeyPtr_get(key_obj); node = xmlNodePtr_get(node_obj); keyInfoCtx = xmlSecKeyInfoCtxPtr_get(keyInfoCtx_obj); return (wrap_int(xmlSecKeyDataXmlWrite(id, key, node, keyInfoCtx))); }