You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by sc...@apache.org on 2012/07/19 02:33:46 UTC
svn commit: r1363191 - in /santuario/xml-security-cpp/trunk/xsec:
dsig/DSIGConstants.cpp dsig/DSIGConstants.hpp
xenc/impl/XENCAlgorithmHandlerDefault.cpp xenc/impl/XENCCipherImpl.cpp
Author: scantor
Date: Thu Jul 19 00:33:46 2012
New Revision: 1363191
URL: http://svn.apache.org/viewvc?rev=1363191&view=rev
Log:
Constants for AES key wrap w/ padding.
Modified:
santuario/xml-security-cpp/trunk/xsec/dsig/DSIGConstants.cpp
santuario/xml-security-cpp/trunk/xsec/dsig/DSIGConstants.hpp
santuario/xml-security-cpp/trunk/xsec/xenc/impl/XENCAlgorithmHandlerDefault.cpp
santuario/xml-security-cpp/trunk/xsec/xenc/impl/XENCCipherImpl.cpp
Modified: santuario/xml-security-cpp/trunk/xsec/dsig/DSIGConstants.cpp
URL: http://svn.apache.org/viewvc/santuario/xml-security-cpp/trunk/xsec/dsig/DSIGConstants.cpp?rev=1363191&r1=1363190&r2=1363191&view=diff
==============================================================================
--- santuario/xml-security-cpp/trunk/xsec/dsig/DSIGConstants.cpp (original)
+++ santuario/xml-security-cpp/trunk/xsec/dsig/DSIGConstants.cpp Thu Jul 19 00:33:46 2012
@@ -217,10 +217,13 @@ const XMLCh * DSIGConstants::s_unicodeSt
const XMLCh * DSIGConstants::s_unicodeStrURIAES128_GCM;
const XMLCh * DSIGConstants::s_unicodeStrURIAES192_GCM;
const XMLCh * DSIGConstants::s_unicodeStrURIAES256_GCM;
+const XMLCh * DSIGConstants::s_unicodeStrURIKW_3DES;
const XMLCh * DSIGConstants::s_unicodeStrURIKW_AES128;
const XMLCh * DSIGConstants::s_unicodeStrURIKW_AES192;
const XMLCh * DSIGConstants::s_unicodeStrURIKW_AES256;
-const XMLCh * DSIGConstants::s_unicodeStrURIKW_3DES;
+const XMLCh * DSIGConstants::s_unicodeStrURIKW_AES128_PAD;
+const XMLCh * DSIGConstants::s_unicodeStrURIKW_AES192_PAD;
+const XMLCh * DSIGConstants::s_unicodeStrURIKW_AES256_PAD;
const XMLCh * DSIGConstants::s_unicodeStrURIRSA_1_5;
const XMLCh * DSIGConstants::s_unicodeStrURIRSA_OAEP_MGFP1;
const XMLCh * DSIGConstants::s_unicodeStrURIRSA_OAEP;
@@ -315,10 +318,13 @@ void DSIGConstants::create() {
s_unicodeStrURIAES128_GCM = XMLString::transcode(URI_ID_AES128_GCM);
s_unicodeStrURIAES192_GCM = XMLString::transcode(URI_ID_AES192_GCM);
s_unicodeStrURIAES256_GCM = XMLString::transcode(URI_ID_AES256_GCM);
+ s_unicodeStrURIKW_3DES = XMLString::transcode(URI_ID_KW_3DES);
s_unicodeStrURIKW_AES128 = XMLString::transcode(URI_ID_KW_AES128);
s_unicodeStrURIKW_AES192 = XMLString::transcode(URI_ID_KW_AES192);
s_unicodeStrURIKW_AES256 = XMLString::transcode(URI_ID_KW_AES256);
- s_unicodeStrURIKW_3DES = XMLString::transcode(URI_ID_KW_3DES);
+ s_unicodeStrURIKW_AES128_PAD = XMLString::transcode(URI_ID_KW_AES128_PAD);
+ s_unicodeStrURIKW_AES192_PAD = XMLString::transcode(URI_ID_KW_AES192_PAD);
+ s_unicodeStrURIKW_AES256_PAD = XMLString::transcode(URI_ID_KW_AES256_PAD);
s_unicodeStrURIRSA_1_5 = XMLString::transcode(URI_ID_RSA_1_5);
s_unicodeStrURIRSA_OAEP_MGFP1 = XMLString::transcode(URI_ID_RSA_OAEP_MGFP1);
s_unicodeStrURIRSA_OAEP = XMLString::transcode(URI_ID_RSA_OAEP);
@@ -405,10 +411,13 @@ void DSIGConstants::destroy() {
XSEC_RELEASE_XMLCH(s_unicodeStrURIAES128_GCM);
XSEC_RELEASE_XMLCH(s_unicodeStrURIAES192_GCM);
XSEC_RELEASE_XMLCH(s_unicodeStrURIAES256_GCM);
+ XSEC_RELEASE_XMLCH(s_unicodeStrURIKW_3DES);
XSEC_RELEASE_XMLCH(s_unicodeStrURIKW_AES128);
XSEC_RELEASE_XMLCH(s_unicodeStrURIKW_AES192);
XSEC_RELEASE_XMLCH(s_unicodeStrURIKW_AES256);
- XSEC_RELEASE_XMLCH(s_unicodeStrURIKW_3DES);
+ XSEC_RELEASE_XMLCH(s_unicodeStrURIKW_AES128_PAD);
+ XSEC_RELEASE_XMLCH(s_unicodeStrURIKW_AES192_PAD);
+ XSEC_RELEASE_XMLCH(s_unicodeStrURIKW_AES256_PAD);
XSEC_RELEASE_XMLCH(s_unicodeStrURIRSA_1_5);
XSEC_RELEASE_XMLCH(s_unicodeStrURIRSA_OAEP_MGFP1);
XSEC_RELEASE_XMLCH(s_unicodeStrURIRSA_OAEP);
Modified: santuario/xml-security-cpp/trunk/xsec/dsig/DSIGConstants.hpp
URL: http://svn.apache.org/viewvc/santuario/xml-security-cpp/trunk/xsec/dsig/DSIGConstants.hpp?rev=1363191&r1=1363190&r2=1363191&view=diff
==============================================================================
--- santuario/xml-security-cpp/trunk/xsec/dsig/DSIGConstants.hpp (original)
+++ santuario/xml-security-cpp/trunk/xsec/dsig/DSIGConstants.hpp Thu Jul 19 00:33:46 2012
@@ -68,10 +68,13 @@ XSEC_USING_XERCES(XMLString);
// Key Wrap Algorithm
-#define URI_ID_KW_AES128 "http://www.w3.org/2001/04/xmlenc#kw-aes128"
-#define URI_ID_KW_AES192 "http://www.w3.org/2001/04/xmlenc#kw-aes192"
-#define URI_ID_KW_AES256 "http://www.w3.org/2001/04/xmlenc#kw-aes256"
-#define URI_ID_KW_3DES "http://www.w3.org/2001/04/xmlenc#kw-tripledes"
+#define URI_ID_KW_3DES "http://www.w3.org/2001/04/xmlenc#kw-tripledes"
+#define URI_ID_KW_AES128 "http://www.w3.org/2001/04/xmlenc#kw-aes128"
+#define URI_ID_KW_AES192 "http://www.w3.org/2001/04/xmlenc#kw-aes192"
+#define URI_ID_KW_AES256 "http://www.w3.org/2001/04/xmlenc#kw-aes256"
+#define URI_ID_KW_AES128_PAD "http://www.w3.org/2009/xmlenc11#kw-aes-128-pad"
+#define URI_ID_KW_AES192_PAD "http://www.w3.org/2009/xmlenc11#kw-aes-192-pad"
+#define URI_ID_KW_AES256_PAD "http://www.w3.org/2009/xmlenc11#kw-aes-256-pad"
// Key Transport algorithms
#define URI_ID_RSA_1_5 "http://www.w3.org/2001/04/xmlenc#rsa-1_5"
@@ -223,7 +226,10 @@ enum encryptionMethod {
ENCRYPT_RSA_OAEP = 11, // RSA with OAEP
ENCRYPT_AES128_GCM = 12, // 128 bit AES in GCM
ENCRYPT_AES192_GCM = 13, // 192 bit AES in GCM
- ENCRYPT_AES256_GCM = 14 // 256 bit AES in GCM
+ ENCRYPT_AES256_GCM = 14, // 256 bit AES in GCM
+ ENCRYPT_KW_AES128_PAD = 15, // KeyWrap - AES128 with padding
+ ENCRYPT_KW_AES192_PAD = 16, // KeyWrap - AES192 with padding
+ ENCRYPT_KW_AES256_PAD = 17 // KeyWrap - AES256 with padding
};
enum maskGenerationFunc {
@@ -484,6 +490,21 @@ bool encryptionMethod2URI(safeBuffer &ur
uri = URI_ID_AES256_GCM;
break;
+ case (ENCRYPT_KW_AES128_PAD) :
+
+ uri = URI_ID_KW_AES128_PAD;
+ break;
+
+ case (ENCRYPT_KW_AES192_PAD) :
+
+ uri = URI_ID_KW_AES192_PAD;
+ break;
+
+ case (ENCRYPT_KW_AES256_PAD) :
+
+ uri = URI_ID_KW_AES256_PAD;
+ break;
+
default:
return false;
@@ -615,10 +636,13 @@ public:
static const XMLCh * s_unicodeStrURIAES128_GCM;
static const XMLCh * s_unicodeStrURIAES192_GCM;
static const XMLCh * s_unicodeStrURIAES256_GCM;
+ static const XMLCh * s_unicodeStrURIKW_3DES;
static const XMLCh * s_unicodeStrURIKW_AES128;
static const XMLCh * s_unicodeStrURIKW_AES192;
static const XMLCh * s_unicodeStrURIKW_AES256;
- static const XMLCh * s_unicodeStrURIKW_3DES;
+ static const XMLCh * s_unicodeStrURIKW_AES128_PAD;
+ static const XMLCh * s_unicodeStrURIKW_AES192_PAD;
+ static const XMLCh * s_unicodeStrURIKW_AES256_PAD;
static const XMLCh * s_unicodeStrURIRSA_1_5;
static const XMLCh * s_unicodeStrURIRSA_OAEP_MGFP1;
static const XMLCh * s_unicodeStrURIRSA_OAEP;
Modified: santuario/xml-security-cpp/trunk/xsec/xenc/impl/XENCAlgorithmHandlerDefault.cpp
URL: http://svn.apache.org/viewvc/santuario/xml-security-cpp/trunk/xsec/xenc/impl/XENCAlgorithmHandlerDefault.cpp?rev=1363191&r1=1363190&r2=1363191&view=diff
==============================================================================
--- santuario/xml-security-cpp/trunk/xsec/xenc/impl/XENCAlgorithmHandlerDefault.cpp (original)
+++ santuario/xml-security-cpp/trunk/xsec/xenc/impl/XENCAlgorithmHandlerDefault.cpp Thu Jul 19 00:33:46 2012
@@ -132,10 +132,10 @@ void XENCAlgorithmHandlerDefault::mapURI
break;
case XSECCryptoSymmetricKey::KEY_AES_128 :
- if (strEquals(uri, DSIGConstants::s_unicodeStrURIKW_AES128)) {
+ if (strEquals(uri, DSIGConstants::s_unicodeStrURIKW_AES128) || strEquals(uri, DSIGConstants::s_unicodeStrURIKW_AES128_PAD)) {
keyOK = true;
isSymmetricKeyWrap = true;
- skm = XSECCryptoSymmetricKey::MODE_CBC;
+ skm = XSECCryptoSymmetricKey::MODE_ECB;
}
else if (strEquals(uri, DSIGConstants::s_unicodeStrURIAES128_CBC)) {
keyOK = true;
@@ -149,10 +149,10 @@ void XENCAlgorithmHandlerDefault::mapURI
break;
case XSECCryptoSymmetricKey::KEY_AES_192 :
- if (strEquals(uri, DSIGConstants::s_unicodeStrURIKW_AES192)) {
+ if (strEquals(uri, DSIGConstants::s_unicodeStrURIKW_AES192) || strEquals(uri, DSIGConstants::s_unicodeStrURIKW_AES192_PAD)) {
keyOK = true;
isSymmetricKeyWrap = true;
- skm = XSECCryptoSymmetricKey::MODE_CBC;
+ skm = XSECCryptoSymmetricKey::MODE_ECB;
}
else if (strEquals(uri, DSIGConstants::s_unicodeStrURIAES192_CBC)) {
keyOK = true;
@@ -166,10 +166,10 @@ void XENCAlgorithmHandlerDefault::mapURI
break;
case XSECCryptoSymmetricKey::KEY_AES_256 :
- if (strEquals(uri, DSIGConstants::s_unicodeStrURIKW_AES256)) {
+ if (strEquals(uri, DSIGConstants::s_unicodeStrURIKW_AES256) || strEquals(uri, DSIGConstants::s_unicodeStrURIKW_AES256_PAD)) {
keyOK = true;
isSymmetricKeyWrap = true;
- skm = XSECCryptoSymmetricKey::MODE_CBC;
+ skm = XSECCryptoSymmetricKey::MODE_ECB;
}
else if (strEquals(uri, DSIGConstants::s_unicodeStrURIAES256_CBC)) {
keyOK = true;
Modified: santuario/xml-security-cpp/trunk/xsec/xenc/impl/XENCCipherImpl.cpp
URL: http://svn.apache.org/viewvc/santuario/xml-security-cpp/trunk/xsec/xenc/impl/XENCCipherImpl.cpp?rev=1363191&r1=1363190&r2=1363191&view=diff
==============================================================================
--- santuario/xml-security-cpp/trunk/xsec/xenc/impl/XENCCipherImpl.cpp (original)
+++ santuario/xml-security-cpp/trunk/xsec/xenc/impl/XENCCipherImpl.cpp Thu Jul 19 00:33:46 2012
@@ -131,10 +131,13 @@ void XENCCipherImpl::Initialise(void) {
XSECPlatformUtils::registerAlgorithmHandler(DSIGConstants::s_unicodeStrURIAES128_GCM, def);
XSECPlatformUtils::registerAlgorithmHandler(DSIGConstants::s_unicodeStrURIAES192_GCM, def);
XSECPlatformUtils::registerAlgorithmHandler(DSIGConstants::s_unicodeStrURIAES256_GCM, def);
+ XSECPlatformUtils::registerAlgorithmHandler(DSIGConstants::s_unicodeStrURIKW_3DES, def);
XSECPlatformUtils::registerAlgorithmHandler(DSIGConstants::s_unicodeStrURIKW_AES128, def);
XSECPlatformUtils::registerAlgorithmHandler(DSIGConstants::s_unicodeStrURIKW_AES192, def);
XSECPlatformUtils::registerAlgorithmHandler(DSIGConstants::s_unicodeStrURIKW_AES256, def);
- XSECPlatformUtils::registerAlgorithmHandler(DSIGConstants::s_unicodeStrURIKW_3DES, def);
+ //XSECPlatformUtils::registerAlgorithmHandler(DSIGConstants::s_unicodeStrURIKW_AES128_PAD, def);
+ //XSECPlatformUtils::registerAlgorithmHandler(DSIGConstants::s_unicodeStrURIKW_AES192_PAD, def);
+ //XSECPlatformUtils::registerAlgorithmHandler(DSIGConstants::s_unicodeStrURIKW_AES256_PAD, def);
XSECPlatformUtils::registerAlgorithmHandler(DSIGConstants::s_unicodeStrURIRSA_1_5, def);
XSECPlatformUtils::registerAlgorithmHandler(DSIGConstants::s_unicodeStrURIRSA_OAEP_MGFP1, def);
XSECPlatformUtils::registerAlgorithmHandler(DSIGConstants::s_unicodeStrURIRSA_OAEP, def);