From 8f41934712f6801e3fa92151ece8ca81b164aad8 Mon Sep 17 00:00:00 2001 From: Jonathan Giannuzzi Date: Wed, 6 May 2015 15:18:09 +0200 Subject: [PATCH 1/2] Add ECDSA support --- src/xmlsec/constants.pxd | 5 +++++ src/xmlsec/constants.pyx | 5 +++++ src/xmlsec/key.pxd | 1 + src/xmlsec/key.pyx | 1 + 4 files changed, 12 insertions(+) diff --git a/src/xmlsec/constants.pxd b/src/xmlsec/constants.pxd index d1634f6d..5fa20306 100644 --- a/src/xmlsec/constants.pxd +++ b/src/xmlsec/constants.pxd @@ -85,6 +85,11 @@ cdef extern from "xmlsec.h": # xmlsec/strings.h xmlSecTransformId xmlSecTransformDes3CbcId xmlSecTransformId xmlSecTransformKWDes3Id xmlSecTransformId xmlSecTransformDsaSha1Id + xmlSecTransformId xmlSecTransformEcdsaSha1Id + xmlSecTransformId xmlSecTransformEcdsaSha224Id + xmlSecTransformId xmlSecTransformEcdsaSha256Id + xmlSecTransformId xmlSecTransformEcdsaSha384Id + xmlSecTransformId xmlSecTransformEcdsaSha512Id xmlSecTransformId xmlSecTransformHmacMd5Id xmlSecTransformId xmlSecTransformHmacRipemd160Id xmlSecTransformId xmlSecTransformHmacSha1Id diff --git a/src/xmlsec/constants.pyx b/src/xmlsec/constants.pyx index 88126fcd..91b6b06a 100644 --- a/src/xmlsec/constants.pyx +++ b/src/xmlsec/constants.pyx @@ -102,6 +102,11 @@ class Transform: DES3 = _mkti(xmlSecTransformDes3CbcId) KW_DES3 = _mkti(xmlSecTransformKWDes3Id) DSA_SHA1 = _mkti(xmlSecTransformDsaSha1Id) + ECDSA_SHA1 = _mkti(xmlSecTransformEcdsaSha1Id) + ECDSA_SHA224 = _mkti(xmlSecTransformEcdsaSha224Id) + ECDSA_SHA256 = _mkti(xmlSecTransformEcdsaSha256Id) + ECDSA_SHA384 = _mkti(xmlSecTransformEcdsaSha384Id) + ECDSA_SHA512 = _mkti(xmlSecTransformEcdsaSha512Id) HMAC_MD5 = _mkti(xmlSecTransformHmacMd5Id) HMAC_RIPEMD160 = _mkti(xmlSecTransformHmacRipemd160Id) HMAC_SHA1 = _mkti(xmlSecTransformHmacSha1Id) diff --git a/src/xmlsec/key.pxd b/src/xmlsec/key.pxd index f90d670d..8b06f75c 100644 --- a/src/xmlsec/key.pxd +++ b/src/xmlsec/key.pxd @@ -21,6 +21,7 @@ cdef extern from "xmlsec.h": # xmlsec/keys.h xmlSecKeyDataId xmlSecKeyDataAesId xmlSecKeyDataId xmlSecKeyDataDesId xmlSecKeyDataId xmlSecKeyDataDsaId + xmlSecKeyDataId xmlSecKeyDataEcdsaId xmlSecKeyDataId xmlSecKeyDataHmacId xmlSecKeyDataId xmlSecKeyDataRsaId xmlSecKeyDataId xmlSecKeyDataX509Id diff --git a/src/xmlsec/key.pyx b/src/xmlsec/key.pyx index a34d5e11..ae660be1 100644 --- a/src/xmlsec/key.pyx +++ b/src/xmlsec/key.pyx @@ -51,6 +51,7 @@ cdef class KeyData(object): AES = _mkkdi(xmlSecKeyDataAesId) DES = _mkkdi(xmlSecKeyDataDesId) DSA = _mkkdi(xmlSecKeyDataDsaId) + ECDSA = _mkkdi(xmlSecKeyDataEcdsaId) HMAC = _mkkdi(xmlSecKeyDataHmacId) RSA = _mkkdi(xmlSecKeyDataRsaId) X509 = _mkkdi(xmlSecKeyDataX509Id) From 1b67d934fe26f208108cd9593dcee90892c5eaa9 Mon Sep 17 00:00:00 2001 From: Jonathan Giannuzzi Date: Thu, 7 May 2015 09:35:19 +0200 Subject: [PATCH 2/2] Use xmlsec 1.2.20 Travis-CI uses an outdated version of Ubuntu (12.04) which only provides xmlsec 1.2.14, which does not support ECDSA --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index cc15f64a..3bc78c85 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,8 +6,10 @@ python: before_install: - 'travis_retry sudo apt-get update' - - 'travis_retry sudo apt-get install --fix-missing -y python-dev libxml2-dev libxmlsec1-dev' + - 'travis_retry sudo apt-get install --fix-missing -y python-dev libxslt1-dev libssl-dev' - 'travis_retry pip install Cython --use-mirrors' + - 'travis_retry wget -O /dev/stdout https://www.aleksey.com/xmlsec/download/xmlsec1-1.2.20.tar.gz | tar xzv' + - 'cd xmlsec1-1.2.20 && ./configure && make && sudo make install && sudo ldconfig && cd ..' install: - 'travis_retry pip install -e ".[test]" --use-mirrors'