11from lxml.includes.tree cimport xmlNode
22from lxml.includes.tree cimport const_xmlChar, xmlNode, xmlID, xmlDoc, xmlAttr
33from lxml.includes.dtdvalid cimport xmlValidCtxt
4- from xmlsec.key cimport xmlSecKeyPtr
4+ from .key cimport xmlSecKeyPtr, xmlSecKeyReq, xmlSecKeyReqPtr, xmlSecKeysMngrPtr
5+ from .constants cimport xmlSecTransformId
56
67
78cdef extern from " xmlsec.h" : # xmlsec/keys.h
89
10+ ctypedef unsigned int xmlSecSize
11+ ctypedef unsigned char xmlSecByte
12+ ctypedef xmlSecByte const_xmlSecByte " const xmlSecByte"
13+
14+ ctypedef void * xmlSecPtrList
15+ ctypedef xmlSecPtrList * xmlSecPtrListPtr
16+ ctypedef void * xmlSecPtr
17+
18+ int xmlSecPtrListAdd(xmlSecPtrListPtr, xmlSecPtr) nogil
19+
20+ int xmlSecPtrListEmpty(xmlSecPtrListPtr) nogil
21+
22+ cdef struct _xmlSecBuffer:
23+ xmlSecByte* data
24+ size_t size
25+ # size_t maxSize
26+ # xmlSecAllocMode allocMode
27+
28+ ctypedef _xmlSecBuffer * xmlSecBufferPtr
29+
30+ # transforms and transform contexts (partial)
31+ ctypedef enum xmlSecTransformStatus:
32+ xmlSecTransformStatusNone = 0
33+ xmlSecTransformStatusWorking
34+ xmlSecTransformStatusFinished
35+ xmlSecTransformStatusOk
36+ xmlSecTransformStatusFail
37+
38+ ctypedef enum xmlSecTransformOperation:
39+ xmlSecTransformOperationNone = 0
40+ xmlSecTransformOperationEncode
41+ xmlSecTransformOperationDecode
42+ xmlSecTransformOperationSign
43+ xmlSecTransformOperationVerify
44+ xmlSecTransformOperationEncrypt
45+ xmlSecTransformOperationDecrypt
46+
47+ cdef struct _xmlSecTransform:
48+ xmlSecTransformOperation operation
49+ xmlSecTransformStatus status
50+
51+ ctypedef _xmlSecTransform* xmlSecTransformPtr
52+
53+ cdef struct _xmlSecTransformCtx:
54+ xmlSecBufferPtr result
55+ xmlSecTransformStatus status
56+
57+ ctypedef _xmlSecTransformCtx xmlSecTransformCtx
58+ ctypedef _xmlSecTransformCtx* xmlSecTransformCtxPtr
59+
60+ cdef struct xmlSecKeyInfoCtx:
61+ xmlSecPtrList enabledKeyData
62+ xmlSecKeyReq keyReq
63+
964 ctypedef enum xmlSecDSigStatus:
1065 xmlSecDSigStatusUnknown = 0
1166 xmlSecDSigStatusSucceeded = 1
@@ -15,20 +70,20 @@ cdef extern from "xmlsec.h": # xmlsec/keys.h
1570 # void* userData
1671 # unsigned int flags
1772 # unsigned int flags2
18- # xmlSecKeyInfoCtx keyInfoReadCtx
73+ xmlSecKeyInfoCtx keyInfoReadCtx
1974 # xmlSecKeyInfoCtx keyInfoWriteCtx
20- # xmlSecTransformCtx transformCtx
75+ xmlSecTransformCtx transformCtx
2176 # xmlSecTransformUriType enabledReferenceUris
2277 # xmlSecPtrListPtr enabledReferenceTransforms
2378 # xmlSecTransformCtxPreExecuteCallback referencePreExecuteCallback
2479 # xmlSecTransformId defSignMethodId
2580 # xmlSecTransformId defC14NMethodId
2681 # xmlSecTransformId defDigestMethodId
2782 xmlSecKeyPtr signKey
28- # xmlSecTransformOperation operation
83+ xmlSecTransformOperation operation
2984 # xmlSecBufferPtr result
3085 xmlSecDSigStatus status
31- # xmlSecTransformPtr signMethod
86+ xmlSecTransformPtr signMethod
3287 # xmlSecTransformPtr c14nMethod
3388 # xmlSecTransformPtr preSignMemBufMethod
3489 # xmlNode* signValueNode
@@ -40,7 +95,6 @@ cdef extern from "xmlsec.h": # xmlsec/keys.h
4095
4196 ctypedef _xmlSecDSigCtx* xmlSecDSigCtxPtr
4297
43- ctypedef void * xmlSecKeysMngrPtr
4498
4599 xmlSecDSigCtxPtr xmlSecDSigCtxCreate(xmlSecKeysMngrPtr) nogil
46100
@@ -50,13 +104,22 @@ cdef extern from "xmlsec.h": # xmlsec/keys.h
50104
51105 int xmlSecDSigCtxVerify(xmlSecDSigCtxPtr, xmlNode* ) nogil
52106
53- # int xmlSecDSigCtxEnableReferenceTransform(
54- # xmlSecDSigCtxPtr, xmlSecTransformId) nogil
107+ int xmlSecDSigCtxEnableReferenceTransform(
108+ xmlSecDSigCtxPtr, xmlSecTransformId) nogil
55109
56- # int xmlSecDSigCtxEnableSignatureTransform(
57- # xmlSecDSigCtxPtr, xmlSecTransformId) nogil
110+ int xmlSecDSigCtxEnableSignatureTransform(
111+ xmlSecDSigCtxPtr, xmlSecTransformId) nogil
58112
59113 void xmlSecDSigCtxDestroy(xmlSecDSigCtxPtr) nogil
60114
61- xmlID* xmlAddID(
62- xmlValidCtxt* ctx, xmlDoc* doc, const_xmlChar* value, xmlAttr* attr);
115+ xmlID* xmlAddID(xmlValidCtxt* ctx, xmlDoc* doc, const_xmlChar* value, xmlAttr* attr)
116+
117+ xmlSecTransformPtr xmlSecTransformCtxCreateAndAppend(xmlSecTransformCtxPtr, xmlSecTransformId) nogil
118+
119+ int xmlSecTransformSetKey(xmlSecTransformPtr, xmlSecKeyPtr) nogil
120+
121+ int xmlSecTransformSetKeyReq(xmlSecTransformPtr, xmlSecKeyReqPtr) nogil
122+
123+ int xmlSecTransformVerify(xmlSecTransformPtr, const_xmlSecByte* , xmlSecSize, xmlSecTransformCtxPtr) nogil
124+
125+ int xmlSecTransformCtxBinaryExecute(xmlSecTransformCtxPtr, const_xmlSecByte* , xmlSecSize) nogil
0 commit comments