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 2007/08/15 20:51:52 UTC

svn commit: r566299 [2/2] - in /xml/security/trunk/c: ./ Projects/VC6.0/xsec/xsec_lib/ Projects/VC7.0/xsec/xsec_lib/ Projects/VC8.0/xsec/xsec_lib/ include/ src/dsig/ src/enc/ src/enc/NSS/ src/enc/OpenSSL/ src/enc/WinCAPI/ src/framework/ src/utils/ src/...

Modified: xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoSymmetricKey.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoSymmetricKey.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoSymmetricKey.hpp (original)
+++ xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoSymmetricKey.hpp Wed Aug 15 11:51:47 2007
@@ -86,7 +86,7 @@
 	 * \brief Returns a string that identifies the crypto owner of this library.
 	 */
 
-	virtual const XMLCh * getProviderName();
+	virtual const XMLCh * getProviderName() const;
 
 	/**
 	 * \brief Clone the key
@@ -96,7 +96,7 @@
 	 * duplicate keys.
 	 */
 
-	virtual XSECCryptoKey * clone();
+	virtual XSECCryptoKey * clone() const;
 
 	//@}
 
@@ -111,7 +111,7 @@
 	 * particular key
 	 */
 
-	SymmetricKeyType getSymmetricKeyType(void);
+	SymmetricKeyType getSymmetricKeyType(void) const;
 
 	/**
 	 * \brief Set the key from the provided bytes
@@ -275,6 +275,12 @@
 	 */
 
 	EVP_CIPHER_CTX * getOpenSSLEVP_CIPHER_CTX(void) {return &m_ctx;}
+
+    /**
+	 * \brief Get OpenSSL cipher context structure
+	 */
+
+	const EVP_CIPHER_CTX * getOpenSSLEVP_CIPHER_CTX(void) const {return &m_ctx;}
 
 	//@}
 

Modified: xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoX509.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoX509.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoX509.cpp (original)
+++ xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoX509.cpp Wed Aug 15 11:51:47 2007
@@ -163,13 +163,13 @@
 
 // Info functions
 
-const XMLCh * OpenSSLCryptoX509::getProviderName() {
+const XMLCh * OpenSSLCryptoX509::getProviderName() const {
 
 	return DSIGConstants::s_unicodeStrPROVOpenSSL;
 
 }
 
-XSECCryptoKey::KeyType OpenSSLCryptoX509::getPublicKeyType() {
+XSECCryptoKey::KeyType OpenSSLCryptoX509::getPublicKeyType() const {
 
 	if (mp_X509 == NULL) {
 		throw XSECCryptoException(XSECCryptoException::X509Error,
@@ -213,7 +213,7 @@
 		
 
 // Get functions
-XSECCryptoKey * OpenSSLCryptoX509::clonePublicKey() {
+XSECCryptoKey * OpenSSLCryptoX509::clonePublicKey() const {
 
 	if (mp_X509 == NULL) {
 		throw XSECCryptoException(XSECCryptoException::X509Error,

Modified: xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoX509.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoX509.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoX509.hpp (original)
+++ xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoX509.hpp Wed Aug 15 11:51:47 2007
@@ -68,13 +68,13 @@
 	 *
 	 */
 
-	virtual XSECCryptoKey::KeyType getPublicKeyType();
+	virtual XSECCryptoKey::KeyType getPublicKeyType() const;
 
 	/**
 	 * \brief Returns a string that identifies the crypto owner of this library.
 	 */
 
-	virtual const XMLCh * getProviderName();
+	virtual const XMLCh * getProviderName() const;
 
 	/**
 	 * \brief Get a copy of the public key.
@@ -84,7 +84,7 @@
 	 *
 	 */
 
-	virtual XSECCryptoKey * clonePublicKey();
+	virtual XSECCryptoKey * clonePublicKey() const;
 
 	//@}
 
@@ -110,6 +110,14 @@
 
 	virtual safeBuffer &getDEREncodingSB(void) {return m_DERX509;}
 
+    /**
+	 * \brief Get a Base64 DER encoded copy of the certificate
+	 *
+	 * @returns A safeBuffer containing the DER encoded certificate
+	 */
+
+	virtual const safeBuffer &getDEREncodingSB(void) const {return m_DERX509;}
+
 	//@}
 
 	/** @name OpenSSL Library Specific functions */
@@ -128,6 +136,12 @@
 	 */
 
 	X509 * getOpenSSLX509(void) {return mp_X509;}
+
+    /**
+	 * \brief Get OpenSSL certificate structure
+	 */
+
+	const X509 * getOpenSSLX509(void) const {return mp_X509;}
 
 	//@}
 

Modified: xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHash.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHash.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHash.cpp (original)
+++ xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHash.cpp Wed Aug 15 11:51:47 2007
@@ -149,7 +149,7 @@
 
 // Get information
 
-XSECCryptoHash::HashType WinCAPICryptoHash::getHashType(void) {
+XSECCryptoHash::HashType WinCAPICryptoHash::getHashType(void) const {
 
 	return m_hashType;			// This could be any kind of hash
 

Modified: xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHash.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHash.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHash.hpp (original)
+++ xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHash.hpp Wed Aug 15 11:51:47 2007
@@ -146,7 +146,7 @@
 	 * @returns The hash type
 	 */
 
-	virtual HashType getHashType(void);
+	virtual HashType getHashType(void) const;
 
 	//@}
 

Modified: xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHashHMAC.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHashHMAC.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHashHMAC.cpp (original)
+++ xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHashHMAC.cpp Wed Aug 15 11:51:47 2007
@@ -407,7 +407,7 @@
 
 // Get information
 
-XSECCryptoHash::HashType WinCAPICryptoHashHMAC::getHashType(void) {
+XSECCryptoHash::HashType WinCAPICryptoHashHMAC::getHashType(void) const {
 
 	return m_hashType;			// This could be any kind of hash
 

Modified: xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHashHMAC.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHashHMAC.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHashHMAC.hpp (original)
+++ xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHashHMAC.hpp Wed Aug 15 11:51:47 2007
@@ -159,7 +159,7 @@
 	 * @returns The hash type
 	 */
 
-	virtual HashType getHashType(void);
+	virtual HashType getHashType(void) const;
 
 	//@}
 

Modified: xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyDSA.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyDSA.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyDSA.cpp (original)
+++ xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyDSA.cpp Wed Aug 15 11:51:47 2007
@@ -109,7 +109,7 @@
 
 // Generic key functions
 
-XSECCryptoKey::KeyType WinCAPICryptoKeyDSA::getKeyType() {
+XSECCryptoKey::KeyType WinCAPICryptoKeyDSA::getKeyType() const {
 
 	// Find out what we have
 	if (m_key == NULL) {
@@ -507,7 +507,7 @@
 // --------------------------------------------------------------------------------
 
 
-XSECCryptoKey * WinCAPICryptoKeyDSA::clone() {
+XSECCryptoKey * WinCAPICryptoKeyDSA::clone() const {
 
 	WinCAPICryptoKeyDSA * ret;
 

Modified: xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyDSA.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyDSA.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyDSA.hpp (original)
+++ xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyDSA.hpp Wed Aug 15 11:51:47 2007
@@ -114,19 +114,19 @@
 	 * public key, private key or a key pair
 	 */
 
-	virtual XSECCryptoKey::KeyType getKeyType();
+	virtual XSECCryptoKey::KeyType getKeyType() const;
 
 	/**
 	 *\brief Return the WiNCAPI string identifier
 	 */
 
-	virtual const XMLCh * getProviderName() {return DSIGConstants::s_unicodeStrPROVWinCAPI;}
+	virtual const XMLCh * getProviderName() const {return DSIGConstants::s_unicodeStrPROVWinCAPI;}
 	
 	/**
 	 * \brief Replicate key
 	 */
 
-	virtual XSECCryptoKey * clone();
+	virtual XSECCryptoKey * clone() const;
 
 	//@}
 

Modified: xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyHMAC.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyHMAC.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyHMAC.cpp (original)
+++ xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyHMAC.cpp Wed Aug 15 11:51:47 2007
@@ -47,14 +47,14 @@
 
 }
 
-unsigned int WinCAPICryptoKeyHMAC::getKey(safeBuffer &outBuf) {
+unsigned int WinCAPICryptoKeyHMAC::getKey(safeBuffer &outBuf) const {
 
 	outBuf = m_keyBuf;
 	return m_keyLen;
 
 }
 
-XSECCryptoKey * WinCAPICryptoKeyHMAC::clone() {
+XSECCryptoKey * WinCAPICryptoKeyHMAC::clone() const {
 
 	WinCAPICryptoKeyHMAC * ret;
 
@@ -102,13 +102,13 @@
 
 }
 
-HCRYPTKEY WinCAPICryptoKeyHMAC::getWinKey(void) {
+HCRYPTKEY WinCAPICryptoKeyHMAC::getWinKey(void) const {
 
 	return m_k;
 
 }
 
-HCRYPTPROV WinCAPICryptoKeyHMAC::getWinKeyProv(void) {
+HCRYPTPROV WinCAPICryptoKeyHMAC::getWinKeyProv(void) const {
 
 	return m_p;
 

Modified: xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyHMAC.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyHMAC.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyHMAC.hpp (original)
+++ xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyHMAC.hpp Wed Aug 15 11:51:47 2007
@@ -89,19 +89,19 @@
 	 * public key, private key or a key pair
 	 */
 
-	virtual XSECCryptoKey::KeyType getKeyType() {return KEY_HMAC;}
+	virtual XSECCryptoKey::KeyType getKeyType() const {return KEY_HMAC;}
 	
 	/**
 	 * \brief Replicate key
 	 */
 
-	virtual XSECCryptoKey * clone();
+	virtual XSECCryptoKey * clone() const ;
 
 	/**
 	 * \brief Return the WinCAPI string identifier
 	 */
 
-	virtual const XMLCh * getProviderName() {return DSIGConstants::s_unicodeStrPROVWinCAPI;}
+	virtual const XMLCh * getProviderName() const {return DSIGConstants::s_unicodeStrPROVWinCAPI;}
 
 	//@}
 
@@ -132,7 +132,7 @@
 	 * @returns number of bytes copied in
 	 */
 
-	virtual unsigned int getKey(safeBuffer &outBuf);
+	virtual unsigned int getKey(safeBuffer &outBuf) const;
 
 	//@}
 
@@ -160,7 +160,7 @@
 	 * @returns The key to use or 0 if this object does not hold one
 	 */
 
-	HCRYPTKEY getWinKey(void);
+	HCRYPTKEY getWinKey(void) const;
 
 	/**
 	 * \brief Get a windows key provider
@@ -171,7 +171,7 @@
 	 * @returns The key to use or 0 if this object does not hold one
 	 */
 
-	HCRYPTPROV getWinKeyProv(void);
+	HCRYPTPROV getWinKeyProv(void) const;
 
 	//@}
 

Modified: xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyRSA.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyRSA.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyRSA.cpp (original)
+++ xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyRSA.cpp Wed Aug 15 11:51:47 2007
@@ -112,7 +112,7 @@
 
 // Generic key functions
 
-XSECCryptoKey::KeyType WinCAPICryptoKeyRSA::getKeyType() {
+XSECCryptoKey::KeyType WinCAPICryptoKeyRSA::getKeyType() const {
 
 	// Find out what we have
 	if (m_key == 0) {
@@ -148,13 +148,13 @@
 
 }
 
-unsigned int WinCAPICryptoKeyRSA::getOAEPparamsLen(void) {
+unsigned int WinCAPICryptoKeyRSA::getOAEPparamsLen(void) const {
 
 	return 0;
 
 }
 
-const unsigned char * WinCAPICryptoKeyRSA::getOAEPparams(void) {
+const unsigned char * WinCAPICryptoKeyRSA::getOAEPparams(void) const {
 
 	return NULL;
 
@@ -498,7 +498,7 @@
 
 }
 
-XSECCryptoKey * WinCAPICryptoKeyRSA::clone() {
+XSECCryptoKey * WinCAPICryptoKeyRSA::clone() const {
 
 	WinCAPICryptoKeyRSA * ret;
 
@@ -703,7 +703,7 @@
 //           Size in bytes
 // --------------------------------------------------------------------------------
 
-unsigned int WinCAPICryptoKeyRSA::getLength(void) {
+unsigned int WinCAPICryptoKeyRSA::getLength(void) const {
 
 	DWORD len;
 	DWORD pLen = 4;

Modified: xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyRSA.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyRSA.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyRSA.hpp (original)
+++ xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyRSA.hpp Wed Aug 15 11:51:47 2007
@@ -110,19 +110,19 @@
 	 * public key, private key or a key pair
 	 */
 
-	virtual XSECCryptoKey::KeyType getKeyType();
+	virtual XSECCryptoKey::KeyType getKeyType() const;
 
 	/**
 	 * \brief Return the WinCAPI identifier string
 	 */
 	
-	virtual const XMLCh * getProviderName() {return DSIGConstants::s_unicodeStrPROVWinCAPI;}
+	virtual const XMLCh * getProviderName() const {return DSIGConstants::s_unicodeStrPROVWinCAPI;}
 	
 	/**
 	 * \brief Replicate key
 	 */
 
-	virtual XSECCryptoKey * clone();
+	virtual XSECCryptoKey * clone() const;
 
 	//@}
 
@@ -159,7 +159,7 @@
 	 * the ability to set OAEP parameters, so this will always return 0
 	 */
 
-	virtual unsigned int getOAEPparamsLen(void);
+	virtual unsigned int getOAEPparamsLen(void) const;
 
 	/**
 	 * \brief Get the OAEPparams
@@ -170,7 +170,7 @@
 	 * the ability to set OAEP parameters, so this will always return NULL
 	 */
 
-	virtual const unsigned char * getOAEPparams(void);
+	virtual const unsigned char * getOAEPparams(void) const;
 
 	/**
 	 * \brief Verify a SHA1 PKCS1 encoded signature
@@ -267,7 +267,7 @@
 	 * @returns The length of the rsa key (in bytes)
 	 */
 
-	virtual unsigned int getLength(void);
+	virtual unsigned int getLength(void) const;
 
 	//@}
 

Modified: xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoProvider.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoProvider.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoProvider.cpp (original)
+++ xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoProvider.cpp Wed Aug 15 11:51:47 2007
@@ -163,7 +163,7 @@
 
 }
 
-const XMLCh * WinCAPICryptoProvider::getProviderName() {
+const XMLCh * WinCAPICryptoProvider::getProviderName() const {
 
 	return DSIGConstants::s_unicodeStrPROVWinCAPI;
 
@@ -172,7 +172,7 @@
 
 // Hashing classes
 
-XSECCryptoHash	* WinCAPICryptoProvider::hashSHA1() {
+XSECCryptoHash	* WinCAPICryptoProvider::hashSHA1() const {
 
 	WinCAPICryptoHash * ret;
 
@@ -182,7 +182,7 @@
 
 }
 
-XSECCryptoHash * WinCAPICryptoProvider::hashHMACSHA1() {
+XSECCryptoHash * WinCAPICryptoProvider::hashHMACSHA1() const {
 
 	WinCAPICryptoHashHMAC * ret;
 
@@ -192,7 +192,7 @@
 
 }
 
-XSECCryptoHash	* WinCAPICryptoProvider::hashSHA(int length) {
+XSECCryptoHash	* WinCAPICryptoProvider::hashSHA(int length) const {
 
 
 	if (length == 160)
@@ -201,7 +201,7 @@
 	else return NULL;
 }
 
-XSECCryptoHash * WinCAPICryptoProvider::hashHMACSHA(int length) {
+XSECCryptoHash * WinCAPICryptoProvider::hashHMACSHA(int length) const {
 
 	if (length == 160)
 		return hashHMACSHA1();
@@ -210,7 +210,7 @@
 
 }
 
-XSECCryptoHash	* WinCAPICryptoProvider::hashMD5() {
+XSECCryptoHash	* WinCAPICryptoProvider::hashMD5() const {
 
 	WinCAPICryptoHash * ret;
 
@@ -220,7 +220,7 @@
 
 }
 
-XSECCryptoHash * WinCAPICryptoProvider::hashHMACMD5() {
+XSECCryptoHash * WinCAPICryptoProvider::hashHMACMD5() const {
 
 	WinCAPICryptoHashHMAC * ret;
 
@@ -230,7 +230,7 @@
 
 }
 
-XSECCryptoKeyHMAC * WinCAPICryptoProvider::keyHMAC(void) {
+XSECCryptoKeyHMAC * WinCAPICryptoProvider::keyHMAC(void) const {
 
 	WinCAPICryptoKeyHMAC * ret;
 	XSECnew(ret, WinCAPICryptoKeyHMAC(m_provDSS));
@@ -240,7 +240,7 @@
 }
 
 
-XSECCryptoKeyDSA * WinCAPICryptoProvider::keyDSA() {
+XSECCryptoKeyDSA * WinCAPICryptoProvider::keyDSA() const {
 	
 	WinCAPICryptoKeyDSA * ret;
 
@@ -250,7 +250,7 @@
 
 }
 
-XSECCryptoKeyRSA * WinCAPICryptoProvider::keyRSA() {
+XSECCryptoKeyRSA * WinCAPICryptoProvider::keyRSA() const {
 	
 	WinCAPICryptoKeyRSA * ret;
 
@@ -261,7 +261,7 @@
 }
 
 
-XSECCryptoX509 * WinCAPICryptoProvider::X509() {
+XSECCryptoX509 * WinCAPICryptoProvider::X509() const {
 
 	WinCAPICryptoX509 * ret;
 
@@ -271,7 +271,7 @@
 
 }
 
-XSECCryptoBase64 * WinCAPICryptoProvider::base64() {
+XSECCryptoBase64 * WinCAPICryptoProvider::base64() const {
 
 	// The Windows CAPI does not provide a Base64 decoder/encoder.
 	// Use the internal implementation.
@@ -284,7 +284,7 @@
 
 }
 
-bool WinCAPICryptoProvider::algorithmSupported(XSECCryptoSymmetricKey::SymmetricKeyType alg) {
+bool WinCAPICryptoProvider::algorithmSupported(XSECCryptoSymmetricKey::SymmetricKeyType alg) const {
 
 	switch (alg) {
 
@@ -308,7 +308,7 @@
 
 }
 
-bool WinCAPICryptoProvider::algorithmSupported(XSECCryptoHash::HashType alg) {
+bool WinCAPICryptoProvider::algorithmSupported(XSECCryptoHash::HashType alg) const {
 
 	switch (alg) {
 
@@ -332,7 +332,7 @@
 
 }
 	
-XSECCryptoSymmetricKey	* WinCAPICryptoProvider::keySymmetric(XSECCryptoSymmetricKey::SymmetricKeyType alg) {
+XSECCryptoSymmetricKey	* WinCAPICryptoProvider::keySymmetric(XSECCryptoSymmetricKey::SymmetricKeyType alg) const {
 
 	// Only temporary
 
@@ -344,7 +344,7 @@
 
 }
 
-unsigned int WinCAPICryptoProvider::getRandom(unsigned char * buffer, unsigned int numOctets) {
+unsigned int WinCAPICryptoProvider::getRandom(unsigned char * buffer, unsigned int numOctets) const {
 
 	if (!CryptGenRandom(m_provApacheKeyStore, numOctets, buffer)) {
 		throw XSECException(XSECException::InternalError,

Modified: xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoProvider.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoProvider.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoProvider.hpp (original)
+++ xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoProvider.hpp Wed Aug 15 11:51:47 2007
@@ -123,7 +123,7 @@
 	 * @see WinCAPICryptoHash
 	 */
 
-	virtual XSECCryptoHash			* hashSHA1();
+	virtual XSECCryptoHash			* hashSHA1() const;
 
 	/**
 	 * \brief Return a SHA implementation.
@@ -136,7 +136,7 @@
 	 * @see WinCAPICryptoHash
 	 */
 	 
-	virtual XSECCryptoHash			* hashSHA(int length = 160);
+	virtual XSECCryptoHash			* hashSHA(int length = 160) const;
 	
 	/**
 	 * \brief Return a HMAC SHA1 implementation.
@@ -149,7 +149,7 @@
 	 * @see WinCAPICryptoHash
 	 */
 
-	virtual XSECCryptoHash			* hashHMACSHA1();
+	virtual XSECCryptoHash			* hashHMACSHA1() const;
 
 	/**
 	 * \brief Return a HMAC SHA(1-512) implementation.
@@ -163,7 +163,7 @@
 	 * @see WinCAPICryptoHash
 	 */
 
-	virtual XSECCryptoHash			* hashHMACSHA(int length = 160);
+	virtual XSECCryptoHash			* hashHMACSHA(int length = 160) const;
 	
 	/**
 	 * \brief Return a MD5 implementation.
@@ -175,7 +175,7 @@
 	 * @see WinCAPICryptoHash
 	 */
 
-	virtual XSECCryptoHash			* hashMD5();
+	virtual XSECCryptoHash			* hashMD5() const;
 
 	/**
 	 * \brief Return a HMAC MD5 implementation.
@@ -193,7 +193,7 @@
 	 * @see WinCAPICryptoHash
 	 */
 
-	virtual XSECCryptoHash			* hashHMACMD5();
+	virtual XSECCryptoHash			* hashHMACMD5() const;
 
 	/**
 	 * \brief Return a HMAC key
@@ -205,7 +205,7 @@
 	 * a value set within it.
 	 */
 
-	virtual XSECCryptoKeyHMAC		* keyHMAC(void);
+	virtual XSECCryptoKeyHMAC		* keyHMAC(void) const;
 
 	//@}
 
@@ -226,7 +226,7 @@
 	 * @see XSCryptCryptoBase64
 	 */
 
-	virtual XSECCryptoBase64		* base64();
+	virtual XSECCryptoBase64		* base64() const;
 
 	//@}
 
@@ -242,7 +242,7 @@
 	 * @see WinCAPICryptoKeyDSA
 	 */
 
-	virtual XSECCryptoKeyDSA		* keyDSA();
+	virtual XSECCryptoKeyDSA		* keyDSA() const;
 
 	/**
 	 * \brief Return an RSA key implementation object.
@@ -253,7 +253,7 @@
 	 * @see WinCAPICryptoKeyRSA
 	 */
 
-	virtual XSECCryptoKeyRSA		* keyRSA();
+	virtual XSECCryptoKeyRSA		* keyRSA() const;
 
 	/**
 	 * \brief Return an X509 implementation object.
@@ -265,7 +265,7 @@
 	 * @see WinCAPICryptoX509
 	 */
 
-	virtual XSECCryptoX509			* X509();
+	virtual XSECCryptoX509			* X509() const;
 
 	//@}
 
@@ -325,7 +325,7 @@
 	 * symmetric algorithm is supported
 	 */
 
-	virtual bool algorithmSupported(XSECCryptoSymmetricKey::SymmetricKeyType alg);
+	virtual bool algorithmSupported(XSECCryptoSymmetricKey::SymmetricKeyType alg) const;
 
 	/**
 	 * \brief Determine whether a given algorithm is supported
@@ -334,7 +334,7 @@
 	 * digest algorithm is supported
 	 */
 
-	virtual bool algorithmSupported(XSECCryptoHash::HashType alg);
+	virtual bool algorithmSupported(XSECCryptoHash::HashType alg) const;
 	
 	/**
 	 * \brief Return a Symmetric Key implementation object.
@@ -346,7 +346,7 @@
 	 * @see XSECCryptoSymmetricKey
 	 */
 
-	virtual XSECCryptoSymmetricKey	* keySymmetric(XSECCryptoSymmetricKey::SymmetricKeyType alg);
+	virtual XSECCryptoSymmetricKey	* keySymmetric(XSECCryptoSymmetricKey::SymmetricKeyType alg) const;
 
 	/**
 	 * \brief Obtain some random octets
@@ -360,7 +360,7 @@
 	 * @returns Number of bytes obtained.
 	 */
 
-	virtual unsigned int getRandom(unsigned char * buffer, unsigned int numOctets);
+	virtual unsigned int getRandom(unsigned char * buffer, unsigned int numOctets) const;
 
 
 	//@}
@@ -372,7 +372,7 @@
 	 * \brief Returns a string that identifies the Crypto Provider
 	 */
 
-	virtual const XMLCh * getProviderName();
+	virtual const XMLCh * getProviderName() const;
 
 	//@}
 

Modified: xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoSymmetricKey.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoSymmetricKey.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoSymmetricKey.cpp (original)
+++ xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoSymmetricKey.cpp Wed Aug 15 11:51:47 2007
@@ -66,19 +66,7 @@
 //           Basic Key interface methods
 // --------------------------------------------------------------------------------
 
-XSECCryptoSymmetricKey::SymmetricKeyType WinCAPICryptoSymmetricKey::getSymmetricKeyType() {
-
-	return m_keyType;
-
-}
-
-const XMLCh * WinCAPICryptoSymmetricKey::getProviderName() {
-
-	return DSIGConstants::s_unicodeStrPROVWinCAPI;
-
-}
-
-XSECCryptoKey * WinCAPICryptoSymmetricKey::clone() {
+XSECCryptoKey * WinCAPICryptoSymmetricKey::clone() const {
 
 	WinCAPICryptoSymmetricKey * ret;
 

Modified: xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoSymmetricKey.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoSymmetricKey.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoSymmetricKey.hpp (original)
+++ xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoSymmetricKey.hpp Wed Aug 15 11:51:47 2007
@@ -93,7 +93,7 @@
 	 * \brief Returns a string that identifies the crypto owner of this library.
 	 */
 
-	virtual const XMLCh * getProviderName();
+    virtual const XMLCh * getProviderName() const {return DSIGConstants::s_unicodeStrPROVWinCAPI;}
 
 	/**
 	 * \brief Clone the key
@@ -103,7 +103,7 @@
 	 * duplicate keys.
 	 */
 
-	virtual XSECCryptoKey * clone();
+	virtual XSECCryptoKey * clone() const;
 
 	//@}
 
@@ -118,7 +118,7 @@
 	 * particular key
 	 */
 
-	SymmetricKeyType getSymmetricKeyType(void);
+    SymmetricKeyType getSymmetricKeyType(void) const {return m_keyType;}
 
 	/**
 	 * \brief Set the key from the provided bytes

Modified: xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoX509.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoX509.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoX509.cpp (original)
+++ xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoX509.cpp Wed Aug 15 11:51:47 2007
@@ -119,13 +119,7 @@
 
 // Info functions
 
-const XMLCh * WinCAPICryptoX509::getProviderName() {
-
-	return DSIGConstants::s_unicodeStrPROVWinCAPI;
-
-}
-
-XSECCryptoKey::KeyType WinCAPICryptoX509::getPublicKeyType() {
+XSECCryptoKey::KeyType WinCAPICryptoX509::getPublicKeyType() const {
 
 	if (mp_certContext == NULL) {
 		throw XSECCryptoException(XSECCryptoException::X509Error,
@@ -144,7 +138,7 @@
 		
 
 // Get functions
-XSECCryptoKey * WinCAPICryptoX509::clonePublicKey() {
+XSECCryptoKey * WinCAPICryptoX509::clonePublicKey() const {
 
 
 	if (mp_certContext == NULL) {

Modified: xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoX509.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoX509.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoX509.hpp (original)
+++ xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoX509.hpp Wed Aug 15 11:51:47 2007
@@ -94,7 +94,7 @@
 	 *
 	 */
 
-	virtual XSECCryptoKey::KeyType getPublicKeyType();
+	virtual XSECCryptoKey::KeyType getPublicKeyType() const;
 
 	/**
 	 * \brief Get a copy of the public key.
@@ -104,13 +104,13 @@
 	 *
 	 */
 
-	virtual XSECCryptoKey * clonePublicKey();
+	virtual XSECCryptoKey * clonePublicKey() const;
 
 	/**
 	 * \brief Returns a string that identifies the crypto owner of this library.
 	 */
 
-	virtual const XMLCh * getProviderName();
+    virtual const XMLCh * getProviderName() const {return DSIGConstants::s_unicodeStrPROVWinCAPI;}
 
 	//@}
 
@@ -135,6 +135,14 @@
 	 */
 
 	virtual safeBuffer &getDEREncodingSB(void) {return m_DERX509;}
+
+    /**
+	 * \brief Get a Base64 DER encoded copy of the certificate
+	 *
+	 * @returns A safeBuffer containing the DER encoded certificate
+	 */
+
+	virtual const safeBuffer &getDEREncodingSB(void) const {return m_DERX509;}
 
 	//@}
 

Modified: xml/security/trunk/c/src/enc/XSECCryptoHash.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/XSECCryptoHash.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/XSECCryptoHash.hpp (original)
+++ xml/security/trunk/c/src/enc/XSECCryptoHash.hpp Wed Aug 15 11:51:47 2007
@@ -135,7 +135,7 @@
 	 * @returns The hash type
 	 */
 
-	virtual HashType getHashType(void) = 0;
+	virtual HashType getHashType(void) const = 0;
 
 	//@}
 

Modified: xml/security/trunk/c/src/enc/XSECCryptoKey.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/XSECCryptoKey.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/XSECCryptoKey.hpp (original)
+++ xml/security/trunk/c/src/enc/XSECCryptoKey.hpp Wed Aug 15 11:51:47 2007
@@ -102,13 +102,13 @@
 	 * \brief Returns the type of this key.
 	 */
 
-	virtual KeyType getKeyType() {return KEY_NONE;}
+	virtual KeyType getKeyType() const {return KEY_NONE;}
 
 	/**
 	 * \brief Returns a string that identifies the crypto owner of this library.
 	 */
 
-	virtual const XMLCh * getProviderName() = 0;
+	virtual const XMLCh * getProviderName() const = 0;
 
 	/**
 	 * \brief Clone the key
@@ -118,7 +118,7 @@
 	 * duplicate keys.
 	 */
 
-	virtual XSECCryptoKey * clone() = 0;
+	virtual XSECCryptoKey * clone() const = 0;
 
   //@}
 

Modified: xml/security/trunk/c/src/enc/XSECCryptoKeyDSA.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/XSECCryptoKeyDSA.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/XSECCryptoKeyDSA.hpp (original)
+++ xml/security/trunk/c/src/enc/XSECCryptoKeyDSA.hpp Wed Aug 15 11:51:47 2007
@@ -62,13 +62,13 @@
 	 * public key, private key or a key pair
 	 */
 
-	virtual XSECCryptoKey::KeyType getKeyType() {return KEY_NONE;}
+	virtual XSECCryptoKey::KeyType getKeyType() const {return KEY_NONE;}
 
 	/**
 	 * \brief Replicate key
 	 */
 
-	virtual XSECCryptoKey * clone() = 0;
+	virtual XSECCryptoKey * clone() const = 0;
 
 	//@}
 

Modified: xml/security/trunk/c/src/enc/XSECCryptoKeyHMAC.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/XSECCryptoKeyHMAC.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/XSECCryptoKeyHMAC.hpp (original)
+++ xml/security/trunk/c/src/enc/XSECCryptoKeyHMAC.hpp Wed Aug 15 11:51:47 2007
@@ -63,13 +63,13 @@
 	 * public key, private key or a key pair
 	 */
 
-	virtual XSECCryptoKey::KeyType getKeyType() {return KEY_HMAC;}
+	virtual XSECCryptoKey::KeyType getKeyType() const {return KEY_HMAC;}
 
 	/**
 	 * \brief Replicate key
 	 */
 	
-	virtual XSECCryptoKey * clone() = 0;
+	virtual XSECCryptoKey * clone() const = 0;
 
 	//@}
 
@@ -105,7 +105,7 @@
 	 * @returns number of bytes copied in
 	 */
 
-	virtual unsigned int getKey(safeBuffer &outBuf) = 0;
+	virtual unsigned int getKey(safeBuffer &outBuf) const = 0;
 
 	//@}
 };

Modified: xml/security/trunk/c/src/enc/XSECCryptoKeyRSA.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/XSECCryptoKeyRSA.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/XSECCryptoKeyRSA.hpp (original)
+++ xml/security/trunk/c/src/enc/XSECCryptoKeyRSA.hpp Wed Aug 15 11:51:47 2007
@@ -77,13 +77,13 @@
 	 * public key, private key or a key pair
 	 */
 
-	virtual XSECCryptoKey::KeyType getKeyType() {return KEY_NONE;}
+	virtual XSECCryptoKey::KeyType getKeyType() const {return KEY_NONE;}
 	
 	/**
 	 * \brief Replicate key
 	 */
 
-	virtual XSECCryptoKey * clone() = 0;
+	virtual XSECCryptoKey * clone() const = 0;
 
 	//@}
 
@@ -114,7 +114,7 @@
 	 * @returns the number of bytes of the OAEPparams buffer (assuming it has been set)
 	 */
 
-	virtual unsigned int getOAEPparamsLen(void) = 0;
+	virtual unsigned int getOAEPparamsLen(void) const = 0;
 
 	/**
 	 * \brief Get the OAEPparams
@@ -123,7 +123,7 @@
 	 * or NULL if no params are held
 	 */
 
-	virtual const unsigned char * getOAEPparams(void) = 0;
+	virtual const unsigned char * getOAEPparams(void) const = 0;
 
 	/**
 	 * \brief Verify a SHA1 PKCS1 encoded signature
@@ -223,7 +223,7 @@
 	 * @returns The length of the rsa key (in bytes)
 	 */
 
-	virtual unsigned int getLength(void) = 0;
+	virtual unsigned int getLength(void) const = 0;
 
 	//@}
 

Modified: xml/security/trunk/c/src/enc/XSECCryptoProvider.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/XSECCryptoProvider.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/XSECCryptoProvider.hpp (original)
+++ xml/security/trunk/c/src/enc/XSECCryptoProvider.hpp Wed Aug 15 11:51:47 2007
@@ -160,7 +160,7 @@
 	 * @deprecated Use hashSHA instead
 	 */
 	 
-	virtual XSECCryptoHash			* hashSHA1() = 0;
+	virtual XSECCryptoHash			* hashSHA1() const = 0;
 
 	/**
 	 * \brief Return a SHA implementation.
@@ -173,7 +173,7 @@
 	 * @see XSECCryptoHash
 	 */
 	 
-	virtual XSECCryptoHash			* hashSHA(int length = 160) = 0;
+	virtual XSECCryptoHash			* hashSHA(int length = 160) const = 0;
 
 	/**
 	 * \brief Return a HMAC SHA1 implementation.
@@ -187,7 +187,7 @@
 	 * @deprecated use hashHMACSHA instead
 	 */
 
-	virtual XSECCryptoHash			* hashHMACSHA1() = 0;
+	virtual XSECCryptoHash			* hashHMACSHA1() const = 0;
 
 	/**
 	 * \brief Return a HMAC SHA(1-512) implementation.
@@ -201,7 +201,7 @@
 	 * @see XSECCryptoHash
 	 */
 
-	virtual XSECCryptoHash			* hashHMACSHA(int length = 160) = 0;
+	virtual XSECCryptoHash			* hashHMACSHA(int length = 160) const = 0;
 
 	/**
 	 * \brief Return a MD5 implementation.
@@ -213,7 +213,7 @@
 	 * @see XSECCryptoHash
 	 */
 	 
-	virtual XSECCryptoHash			* hashMD5() = 0;
+	virtual XSECCryptoHash			* hashMD5() const = 0;
 
 	/**
 	 * \brief Return a HMAC MD5 implementation.
@@ -231,7 +231,7 @@
 	 * @see XSECCryptoHash
 	 */
 
-	virtual XSECCryptoHash			* hashHMACMD5() = 0;
+	virtual XSECCryptoHash			* hashHMACMD5() const = 0;
 
 	/**
 	 * \brief Return a HMAC key
@@ -243,7 +243,7 @@
 	 * a value set within it.
 	 */
 
-	virtual XSECCryptoKeyHMAC		* keyHMAC(void) = 0;
+	virtual XSECCryptoKeyHMAC		* keyHMAC() const = 0;
 
 	//@}
 
@@ -259,7 +259,7 @@
 	 * @see XSECCryptoBase64
 	 */
 
-	virtual XSECCryptoBase64		* base64() = 0;
+	virtual XSECCryptoBase64		* base64() const = 0;
 
 	//@}
 
@@ -275,7 +275,7 @@
 	 * @see XSECCryptoKeyDSA
 	 */
 
-	virtual XSECCryptoKeyDSA		* keyDSA() = 0;
+	virtual XSECCryptoKeyDSA		* keyDSA() const = 0;
 
 	/**
 	 * \brief Return an RSA key implementation object.
@@ -286,7 +286,7 @@
 	 * @see XSECCryptoKeyRSA
 	 */
 
-	virtual XSECCryptoKeyRSA		* keyRSA() = 0;
+	virtual XSECCryptoKeyRSA		* keyRSA() const = 0;
 
 	/**
 	 * \brief Return an X509 implementation object.
@@ -298,7 +298,7 @@
 	 * @see XSECCryptoX509
 	 */
 
-	virtual XSECCryptoX509			* X509() = 0;
+	virtual XSECCryptoX509			* X509() const = 0;
 
 	/**
 	 * \brief Determine whether a given algorithm is supported
@@ -307,7 +307,7 @@
 	 * symmetric algorithm is supported
 	 */
 
-	virtual bool algorithmSupported(XSECCryptoSymmetricKey::SymmetricKeyType alg) = 0;
+	virtual bool algorithmSupported(XSECCryptoSymmetricKey::SymmetricKeyType alg) const = 0;
 
 	/**
 	 * \brief Determine whether a given algorithm is supported
@@ -316,7 +316,7 @@
 	 * digest algorithm is supported
 	 */
 
-	virtual bool algorithmSupported(XSECCryptoHash::HashType alg) = 0;
+	virtual bool algorithmSupported(XSECCryptoHash::HashType alg) const = 0;
 	
 	/**
 	 * \brief Return a Symmetric Key implementation object.
@@ -328,7 +328,7 @@
 	 * @see XSECCryptoSymmetricKey
 	 */
 
-	virtual XSECCryptoSymmetricKey	* keySymmetric(XSECCryptoSymmetricKey::SymmetricKeyType alg) = 0;
+	virtual XSECCryptoSymmetricKey	* keySymmetric(XSECCryptoSymmetricKey::SymmetricKeyType alg) const = 0;
 
 	/**
 	 * \brief Obtain some random octets
@@ -342,7 +342,7 @@
 	 * @returns Number of bytes obtained.
 	 */
 
-	virtual unsigned int getRandom(unsigned char * buffer, unsigned int numOctets) = 0;
+	virtual unsigned int getRandom(unsigned char * buffer, unsigned int numOctets) const = 0;
 
 	//@}
 
@@ -353,7 +353,7 @@
 	 * \brief Returns a string that identifies the Crypto Provider
 	 */
 
-	virtual const XMLCh * getProviderName() = 0;
+	virtual const XMLCh * getProviderName() const = 0;
 
 	//@}
 

Modified: xml/security/trunk/c/src/enc/XSECCryptoSymmetricKey.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/XSECCryptoSymmetricKey.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/XSECCryptoSymmetricKey.hpp (original)
+++ xml/security/trunk/c/src/enc/XSECCryptoSymmetricKey.hpp Wed Aug 15 11:51:47 2007
@@ -106,13 +106,13 @@
 	 * \brief Returns the type of this key.
 	 */
 
-	virtual KeyType getKeyType() {return KEY_SYMMETRIC;}
+	virtual KeyType getKeyType() const {return KEY_SYMMETRIC;}
 
 	/**
 	 * \brief Returns a string that identifies the crypto owner of this library.
 	 */
 
-	virtual const XMLCh * getProviderName() = 0;
+	virtual const XMLCh * getProviderName() const = 0;
 
 	/**
 	 * \brief Clone the key
@@ -122,7 +122,7 @@
 	 * duplicate keys.
 	 */
 
-	virtual XSECCryptoKey * clone() = 0;
+	virtual XSECCryptoKey * clone() const = 0;
 
 	//@}
 
@@ -137,7 +137,7 @@
 	 * particular key
 	 */
 
-	virtual SymmetricKeyType getSymmetricKeyType(void) = 0;
+	virtual SymmetricKeyType getSymmetricKeyType(void) const = 0;
 
 	/**
 	 * \brief Set the key from the provided bytes

Modified: xml/security/trunk/c/src/enc/XSECCryptoX509.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/XSECCryptoX509.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/XSECCryptoX509.hpp (original)
+++ xml/security/trunk/c/src/enc/XSECCryptoX509.hpp Wed Aug 15 11:51:47 2007
@@ -68,7 +68,7 @@
 	 *
 	 */
 
-	virtual XSECCryptoKey::KeyType getPublicKeyType() = 0;
+	virtual XSECCryptoKey::KeyType getPublicKeyType() const = 0;
 
 	/**
 	 * \brief Get a copy of the public key.
@@ -78,13 +78,13 @@
 	 *
 	 */
 
-	virtual XSECCryptoKey * clonePublicKey() = 0;
+	virtual XSECCryptoKey * clonePublicKey() const = 0;
 
 	/**
 	 * \brief Returns a string that identifies the crypto owner of this library.
 	 */
 
-	virtual const XMLCh * getProviderName() = 0;
+	virtual const XMLCh * getProviderName() const = 0;
 
 	//@}
 
@@ -121,6 +121,14 @@
 	 */
 
 	virtual safeBuffer &getDEREncodingSB(void) = 0;		// Get the DER string
+
+    /**
+	 * \brief Get a Base64 DER encoded copy of the certificate
+	 *
+	 * @returns A safeBuffer containing the DER encoded certificate
+	 */
+
+	virtual const safeBuffer &getDEREncodingSB(void) const = 0;		// Get the DER string
 
 	//@}
 

Modified: xml/security/trunk/c/src/framework/XSECW32Config.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/framework/XSECW32Config.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/framework/XSECW32Config.hpp (original)
+++ xml/security/trunk/c/src/framework/XSECW32Config.hpp Wed Aug 15 11:51:47 2007
@@ -37,8 +37,8 @@
  */
 
 #define XSEC_VERSION_MAJOR   1
-#define XSEC_VERSION_MEDIUM  3
-#define XSEC_VERSION_MINOR   1
+#define XSEC_VERSION_MEDIUM  4
+#define XSEC_VERSION_MINOR   0
 
 /*
  * Because we don't have a configure script, we need to rely on version

Modified: xml/security/trunk/c/src/framework/version.rc
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/framework/version.rc?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/framework/version.rc (original)
+++ xml/security/trunk/c/src/framework/version.rc Wed Aug 15 11:51:47 2007
@@ -54,8 +54,8 @@
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 0,1,3,1
- PRODUCTVERSION 0,1,3,1
+ FILEVERSION 0,1,4,0
+ PRODUCTVERSION 0,1,4,0
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -73,14 +73,14 @@
             VALUE "Comments", "XML Security C++ Library\0"
             VALUE "CompanyName", "The Apache Software Foundation\0"
             VALUE "FileDescription", "xsec_1D\0"
-            VALUE "FileVersion", "0, 1, 3, 1\0"
+            VALUE "FileVersion", "0, 1, 4, 0\0"
             VALUE "InternalName", "xsec_1D\0"
-            VALUE "LegalCopyright", "Copyright © 2002-2006 The Apache Software Foundation\0"
+            VALUE "LegalCopyright", "Copyright © 2002-2007 The Apache Software Foundation\0"
             VALUE "LegalTrademarks", "\0"
             VALUE "OriginalFilename", "xsec_1D.dll\0"
             VALUE "PrivateBuild", "\0"
             VALUE "ProductName", "XML-Security-C - C++ XML Security Library\0"
-            VALUE "ProductVersion", "0, 1, 3, 1\0"
+            VALUE "ProductVersion", "0, 1, 4, 0\0"
             VALUE "SpecialBuild", "\0"
         END
     END

Modified: xml/security/trunk/c/src/utils/XSECSafeBuffer.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/utils/XSECSafeBuffer.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/utils/XSECSafeBuffer.cpp (original)
+++ xml/security/trunk/c/src/utils/XSECSafeBuffer.cpp Wed Aug 15 11:51:47 2007
@@ -542,7 +542,7 @@
 
 // Unicode Functions
 
-const XMLCh * safeBuffer::sbStrToXMLCh(void) {
+const XMLCh * safeBuffer::sbStrToXMLCh(void) const {
 
 	checkBufferType(BUFFER_CHAR);
 	if (mp_XMLCh != NULL)

Modified: xml/security/trunk/c/src/utils/XSECSafeBuffer.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/utils/XSECSafeBuffer.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/utils/XSECSafeBuffer.hpp (original)
+++ xml/security/trunk/c/src/utils/XSECSafeBuffer.hpp Wed Aug 15 11:51:47 2007
@@ -135,7 +135,7 @@
 	void setBufferType(bufferType bt);		// Use with care
 
 	// Unicode (UTF-16 manipulation)
-	const XMLCh * sbStrToXMLCh(void);			// Note does not affect internal buffer
+	const XMLCh * sbStrToXMLCh(void) const;		// Note does not affect internal buffer
 	void sbTranscodeIn(const XMLCh * inStr);	// Create a local string from UTF-16
 	void sbTranscodeIn(const char * inStr);		// Create a UTF-16 string from local
 	void sbXMLChIn(const XMLCh * in);			// Buffer holds XMLCh *
@@ -158,7 +158,7 @@
 
 	unsigned char * buffer;
 	unsigned int	bufferSize;
-	XMLCh			* mp_XMLCh;
+	mutable XMLCh   * mp_XMLCh;
 	bufferType		m_bufferType;
 
 	// For XMLCh manipulation

Modified: xml/security/trunk/c/src/xenc/impl/XENCEncryptedKeyImpl.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/xenc/impl/XENCEncryptedKeyImpl.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/xenc/impl/XENCEncryptedKeyImpl.hpp (original)
+++ xml/security/trunk/c/src/xenc/impl/XENCEncryptedKeyImpl.hpp Wed Aug 15 11:51:47 2007
@@ -57,8 +57,8 @@
 								 const XMLCh * value);
 
 	// KeyInfo Interface methods
-	virtual const XMLCh * getKeyName(void) {return NULL;}
-	virtual keyInfoType getKeyInfoType(void) {return DSIGKeyInfo::KEYINFO_ENCRYPTEDKEY;}
+	virtual const XMLCh * getKeyName(void) const {return NULL;}
+	virtual keyInfoType getKeyInfoType(void) const {return DSIGKeyInfo::KEYINFO_ENCRYPTEDKEY;}
 
 
 	// Inherited from XENCEncryptedData - need to re-implement

Added: xml/security/trunk/c/xml-security-c.spec
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/xml-security-c.spec?view=auto&rev=566299
==============================================================================
--- xml/security/trunk/c/xml-security-c.spec (added)
+++ xml/security/trunk/c/xml-security-c.spec Wed Aug 15 11:51:47 2007
@@ -0,0 +1,87 @@
+Name:           xml-security-c
+Version:        1.4.0
+Release:        1
+Summary:        C++ XML security library
+
+Group:          System Environment/Libraries
+License:        Apache Software License
+URL:            http://xml.apache.org/security/c/
+Source0:        http://xml.apache.org/security/dist/c-library/%{name}-%{version}.tar.gz
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+BuildRequires:  xerces%{?xercesver}-c-devel >= 2.3, openssl-devel
+%{?_with_xalan:BuildRequires: xalan-c-devel >= 1.6}
+
+%description
+The Apache %{summary}.
+
+Non-default rpmbuild options:
+"--with xalan":   use the Xalan XSLT processor.
+
+%package        devel
+Summary:        Development files for the Apache C++ XML security library
+Group:          Development/Libraries
+Requires:       %{name} = %{version}-%{release}
+
+%description    devel
+%{summary}.
+
+%package        docs
+Summary:        Developer documentation for the Apache C++ XML security library
+Group:          Documentation
+
+%description    docs
+%{summary}.
+
+
+%prep
+%setup0 -q
+
+%build
+%configure %{!?_with_xalan: --without-xalan}
+make # %{?_smp_mflags} # fails as of 1.[01].0.
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -pm 755 $RPM_BUILD_ROOT%{_libdir} # FIXME in Makefiles
+make install DESTDIR=$RPM_BUILD_ROOT
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+
+%files
+%defattr(-,root,root,-)
+%doc LICENSE NOTICE
+%{_libdir}/*.so.*
+%{_libdir}/*.a
+%exclude %{_libdir}/*.la
+%{_bindir}/*
+
+%files devel
+%defattr(-,root,root,-)
+%{_includedir}/xsec
+%{_libdir}/*.so
+
+%files docs
+%defattr(644,root,root,755)
+%doc doc/c/*
+
+
+%changelog
+* Wed Aug 15 2007   Scott Cantor  <ca...@osu.edu> 1.4.0-1
+- update to 1.4.0
+* Mon Jun 11 2007   Scott Cantor  <ca...@osu.edu> 1.3.1-1
+- update to 1.3.1
+* Thu Mar 23 2006   Ian Young     <ia...@iay.org.uk> - 1.2.0-2
+- patch to remove extra qualifications for compat with g++ 4.1
+* Sun Jul 03 2005   Scott Cantor  <ca...@osu.edu> - 1.2.0-1
+- Updated version.
+* Mon Oct 19 2004   Derek Atkins  <de...@ihtfp.com> - 1.1.1-1
+- First Package.

Propchange: xml/security/trunk/c/xml-security-c.spec
------------------------------------------------------------------------------
    svn:mime-type = text/plain