Removed unnecessary class from string literals.
[shibboleth/cpp-xmltooling.git] / xmltooling / encryption / impl / Encrypter.cpp
index 1ede2a2..43185e8 100644 (file)
@@ -85,8 +85,10 @@ EncryptedData* Encrypter::encryptElement(DOMElement* element, EncryptionParams&
         m_cipher=NULL;
     }
     
-    if (!m_cipher)
+    if (!m_cipher) {
         m_cipher=XMLToolingInternalConfig::getInternalConfig().m_xsecProvider->newCipher(element->getOwnerDocument());
+        m_cipher->setExclusiveC14nSerialisation(false);
+    }
     
     try {
         checkParams(encParams,kencParams);
@@ -111,8 +113,10 @@ EncryptedData* Encrypter::encryptElementContent(DOMElement* element, EncryptionP
         m_cipher=NULL;
     }
     
-    if (!m_cipher)
+    if (!m_cipher) {
         m_cipher=XMLToolingInternalConfig::getInternalConfig().m_xsecProvider->newCipher(element->getOwnerDocument());
+        m_cipher->setExclusiveC14nSerialisation(false);
+    }
     
     try {
         checkParams(encParams,kencParams);
@@ -140,28 +144,23 @@ EncryptedData* Encrypter::encryptStream(istream& input, EncryptionParams& encPar
     DOMDocument* doc=NULL;
     try {
         doc=XMLToolingConfig::getConfig().getParser().newDocument();
+        XercesJanitor<DOMDocument> janitor(doc);
         m_cipher=XMLToolingInternalConfig::getInternalConfig().m_xsecProvider->newCipher(doc);
+        m_cipher->setExclusiveC14nSerialisation(false);
         
         checkParams(encParams,kencParams);
         StreamInputSource::StreamBinInputStream xstream(input);
         m_cipher->encryptBinInputStream(&xstream, ENCRYPT_NONE, encParams.m_algorithm);
         EncryptedData* xmlEncData = decorateAndUnmarshall(encParams, kencParams);
-        doc->release();
         return xmlEncData;
     }
     catch(XSECException& e) {
-        doc->release();
         auto_ptr_char temp(e.getMsg());
         throw EncryptionException(string("XMLSecurity exception while encrypting: ") + temp.get());
     }
     catch(XSECCryptoException& e) {
-        doc->release();
         throw EncryptionException(string("XMLSecurity exception while encrypting: ") + e.getMsg());
     }
-    catch (...) {
-        doc->release();
-        throw;
-    }
 }
 
 EncryptedData* Encrypter::decorateAndUnmarshall(EncryptionParams& encParams, KeyEncryptionParams* kencParams)
@@ -232,7 +231,9 @@ EncryptedKey* Encrypter::encryptKey(const unsigned char* keyBuffer, unsigned int
     DOMDocument* doc=NULL;
     try {
         doc=XMLToolingConfig::getConfig().getParser().newDocument();
+        XercesJanitor<DOMDocument> janitor(doc);
         m_cipher=XMLToolingInternalConfig::getInternalConfig().m_xsecProvider->newCipher(doc);
+        m_cipher->setExclusiveC14nSerialisation(false);
         m_cipher->setKEK(kencParams.m_key->clone());
         auto_ptr<XENCEncryptedKey> encKey(m_cipher->encryptKey(keyBuffer, keyBufferSize, ENCRYPT_NONE, kencParams.m_algorithm));
         
@@ -253,21 +254,14 @@ EncryptedKey* Encrypter::encryptKey(const unsigned char* keyBuffer, unsigned int
             kencParams.m_keyInfo=NULL;   // transfer ownership
         }
 
-        doc->release();
         xmlObjectKey.release();
         return xmlEncKey;
     }
     catch(XSECException& e) {
-        doc->release();
         auto_ptr_char temp(e.getMsg());
         throw EncryptionException(string("XMLSecurity exception while encrypting: ") + temp.get());
     }
     catch(XSECCryptoException& e) {
-        doc->release();
         throw EncryptionException(string("XMLSecurity exception while encrypting: ") + e.getMsg());
     }
-    catch (...) {
-        doc->release();
-        throw;
-    }
 }