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 [1/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/...

Author: scantor
Date: Wed Aug 15 11:51:47 2007
New Revision: 566299

URL: http://svn.apache.org/viewvc?view=rev&rev=566299
Log:
Added const specifiers and methods throughout API, mainly on enc classes.
Updated build files and scripts to 1.4.0.
Added proposed RPM spec file.

Added:
    xml/security/trunk/c/xml-security-c.spec   (with props)
Modified:
    xml/security/trunk/c/   (props changed)
    xml/security/trunk/c/CHANGELOG.txt
    xml/security/trunk/c/Projects/VC6.0/xsec/xsec_lib/xsec_lib.dsp
    xml/security/trunk/c/Projects/VC7.0/xsec/xsec_lib/xsec_lib.vcproj
    xml/security/trunk/c/Projects/VC8.0/xsec/xsec_lib/xsec_lib.vcproj
    xml/security/trunk/c/configure
    xml/security/trunk/c/configure.ac
    xml/security/trunk/c/include/   (props changed)
    xml/security/trunk/c/src/dsig/DSIGKeyInfo.hpp
    xml/security/trunk/c/src/dsig/DSIGKeyInfoList.cpp
    xml/security/trunk/c/src/dsig/DSIGKeyInfoList.hpp
    xml/security/trunk/c/src/dsig/DSIGKeyInfoMgmtData.hpp
    xml/security/trunk/c/src/dsig/DSIGKeyInfoName.hpp
    xml/security/trunk/c/src/dsig/DSIGKeyInfoPGPData.hpp
    xml/security/trunk/c/src/dsig/DSIGKeyInfoSPKIData.cpp
    xml/security/trunk/c/src/dsig/DSIGKeyInfoSPKIData.hpp
    xml/security/trunk/c/src/dsig/DSIGKeyInfoValue.cpp
    xml/security/trunk/c/src/dsig/DSIGKeyInfoValue.hpp
    xml/security/trunk/c/src/dsig/DSIGKeyInfoX509.cpp
    xml/security/trunk/c/src/dsig/DSIGKeyInfoX509.hpp
    xml/security/trunk/c/src/dsig/DSIGSignature.cpp
    xml/security/trunk/c/src/dsig/DSIGSignature.hpp
    xml/security/trunk/c/src/enc/NSS/NSSCryptoHash.cpp
    xml/security/trunk/c/src/enc/NSS/NSSCryptoHash.hpp
    xml/security/trunk/c/src/enc/NSS/NSSCryptoHashHMAC.cpp
    xml/security/trunk/c/src/enc/NSS/NSSCryptoHashHMAC.hpp
    xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyDSA.cpp
    xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyDSA.hpp
    xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyHMAC.cpp
    xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyHMAC.hpp
    xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyRSA.cpp
    xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyRSA.hpp
    xml/security/trunk/c/src/enc/NSS/NSSCryptoProvider.cpp
    xml/security/trunk/c/src/enc/NSS/NSSCryptoProvider.hpp
    xml/security/trunk/c/src/enc/NSS/NSSCryptoSymmetricKey.cpp
    xml/security/trunk/c/src/enc/NSS/NSSCryptoSymmetricKey.hpp
    xml/security/trunk/c/src/enc/NSS/NSSCryptoX509.cpp
    xml/security/trunk/c/src/enc/NSS/NSSCryptoX509.hpp
    xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoHash.cpp
    xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoHash.hpp
    xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoHashHMAC.cpp
    xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoHashHMAC.hpp
    xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyDSA.cpp
    xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyDSA.hpp
    xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyHMAC.cpp
    xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyHMAC.hpp
    xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyRSA.cpp
    xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyRSA.hpp
    xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoProvider.cpp
    xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoProvider.hpp
    xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoSymmetricKey.cpp
    xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoSymmetricKey.hpp
    xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoX509.cpp
    xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoX509.hpp
    xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHash.cpp
    xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHash.hpp
    xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHashHMAC.cpp
    xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoHashHMAC.hpp
    xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyDSA.cpp
    xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyDSA.hpp
    xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyHMAC.cpp
    xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyHMAC.hpp
    xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyRSA.cpp
    xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoKeyRSA.hpp
    xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoProvider.cpp
    xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoProvider.hpp
    xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoSymmetricKey.cpp
    xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoSymmetricKey.hpp
    xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoX509.cpp
    xml/security/trunk/c/src/enc/WinCAPI/WinCAPICryptoX509.hpp
    xml/security/trunk/c/src/enc/XSECCryptoHash.hpp
    xml/security/trunk/c/src/enc/XSECCryptoKey.hpp
    xml/security/trunk/c/src/enc/XSECCryptoKeyDSA.hpp
    xml/security/trunk/c/src/enc/XSECCryptoKeyHMAC.hpp
    xml/security/trunk/c/src/enc/XSECCryptoKeyRSA.hpp
    xml/security/trunk/c/src/enc/XSECCryptoProvider.hpp
    xml/security/trunk/c/src/enc/XSECCryptoSymmetricKey.hpp
    xml/security/trunk/c/src/enc/XSECCryptoX509.hpp
    xml/security/trunk/c/src/framework/XSECW32Config.hpp
    xml/security/trunk/c/src/framework/version.rc
    xml/security/trunk/c/src/utils/XSECSafeBuffer.cpp
    xml/security/trunk/c/src/utils/XSECSafeBuffer.hpp
    xml/security/trunk/c/src/xenc/impl/XENCEncryptedKeyImpl.hpp

Propchange: xml/security/trunk/c/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Aug 15 11:51:47 2007
@@ -0,0 +1 @@
+Build

Modified: xml/security/trunk/c/CHANGELOG.txt
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/CHANGELOG.txt?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/CHANGELOG.txt (original)
+++ xml/security/trunk/c/CHANGELOG.txt Wed Aug 15 11:51:47 2007
@@ -1,3 +1,8 @@
+Changes between version 1.3.1 and 1.4
+=====================================
+* Fix exclusive c14n namespace bug (rev. 526939) (BL)
+* Add const specifiers and methods to various classes (SC)
+
 Changes between version 1.3 and 1.3.1
 =====================================
 

Modified: xml/security/trunk/c/Projects/VC6.0/xsec/xsec_lib/xsec_lib.dsp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/Projects/VC6.0/xsec/xsec_lib/xsec_lib.dsp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/Projects/VC6.0/xsec/xsec_lib/xsec_lib.dsp (original)
+++ xml/security/trunk/c/Projects/VC6.0/xsec/xsec_lib/xsec_lib.dsp Wed Aug 15 11:51:47 2007
@@ -55,7 +55,7 @@
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 xerces-c_2.lib Xalan-C_1.lib libeay32.lib crypt32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"../../../../Build/Win32/VC6/Release/xsec_1_3_1.dll" /implib:"../../../../Build/Win32/VC6/Release/xsec_1.lib"
+# ADD LINK32 xerces-c_2.lib Xalan-C_1.lib libeay32.lib crypt32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"../../../../Build/Win32/VC6/Release/xsec_1_4_0.dll" /implib:"../../../../Build/Win32/VC6/Release/xsec_1.lib"
 # SUBTRACT LINK32 /pdb:none
 
 !ELSEIF  "$(CFG)" == "xsec_lib - Win32 Debug"
@@ -82,7 +82,7 @@
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 xerces-c_2D.lib Xalan-C_1D.lib libeay32.lib crypt32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /version:0.2 /dll /debug /machine:I386 /out:"../../../../Build/Win32/VC6/Debug/xsec_1_3_1D.dll" /implib:"../../../../Build/Win32/VC6/Debug/xsec_1D.lib" /pdbtype:sept
+# ADD LINK32 xerces-c_2D.lib Xalan-C_1D.lib libeay32.lib crypt32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /version:0.2 /dll /debug /machine:I386 /out:"../../../../Build/Win32/VC6/Debug/xsec_1_4_0D.dll" /implib:"../../../../Build/Win32/VC6/Debug/xsec_1D.lib" /pdbtype:sept
 # SUBTRACT LINK32 /pdb:none /nodefaultlib
 
 !ELSEIF  "$(CFG)" == "xsec_lib - Win32 Debug No Xalan"
@@ -110,7 +110,7 @@
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib xerces-c_2D.lib Xalan-C_1D.lib libeay32.lib /nologo /version:0.2 /dll /debug /machine:I386 /out:"../../../../Build/Win32/VC6/Debug/xsec_lib_01D.dll" /pdbtype:sept
-# ADD LINK32 xerces-c_2D.lib libeay32.lib crypt32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /version:0.2 /dll /debug /machine:I386 /out:"../../../../Build/Win32/VC6/Debug/xsec_1_3_1D.dll" /implib:"../../../../Build/Win32/VC6/Debug/xsec_1D.lib" /pdbtype:sept
+# ADD LINK32 xerces-c_2D.lib libeay32.lib crypt32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /version:0.2 /dll /debug /machine:I386 /out:"../../../../Build/Win32/VC6/Debug/xsec_1_4_0D.dll" /implib:"../../../../Build/Win32/VC6/Debug/xsec_1D.lib" /pdbtype:sept
 # SUBTRACT LINK32 /pdb:none
 
 !ELSEIF  "$(CFG)" == "xsec_lib - Win32 Release No Xalan"
@@ -138,7 +138,7 @@
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib xerces-c_2.lib Xalan-C_1.lib libeay32.lib /nologo /dll /machine:I386 /out:"../../../../Build/Win32/VC6/Release/xsec_lib_01.dll"
-# ADD LINK32 xerces-c_2.lib libeay32.lib crypt32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"../../../../Build/Win32/VC6/Release/xsec_1_3_1.dll" /implib:"../../../../Build/Win32/VC6/Release/xsec_1.lib"
+# ADD LINK32 xerces-c_2.lib libeay32.lib crypt32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"../../../../Build/Win32/VC6/Release/xsec_1_4_0.dll" /implib:"../../../../Build/Win32/VC6/Release/xsec_1.lib"
 # SUBTRACT LINK32 /pdb:none
 
 !ENDIF 

Modified: xml/security/trunk/c/Projects/VC7.0/xsec/xsec_lib/xsec_lib.vcproj
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/Projects/VC7.0/xsec/xsec_lib/xsec_lib.vcproj?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/Projects/VC7.0/xsec/xsec_lib/xsec_lib.vcproj (original)
+++ xml/security/trunk/c/Projects/VC7.0/xsec/xsec_lib/xsec_lib.vcproj Wed Aug 15 11:51:47 2007
@@ -36,7 +36,7 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalDependencies="xerces-c_2D.lib Xalan-C_1D.lib crypt32.lib libeay32.lib "
-				OutputFile="$(OutDir)/xsec_1_3_1D.dll"
+				OutputFile="$(OutDir)/xsec_1_4_0D.dll"
 				LinkIncremental="2"
 				GenerateDebugInformation="TRUE"
 				ProgramDatabaseFile="$(OutDir)/xsec_lib.pdb"
@@ -91,7 +91,7 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalDependencies="xerces-c_2.lib crypt32.lib libeay32.lib  Xalan-C_1.lib"
-				OutputFile="$(OutDir)/xsec_1_3_1.dll"
+				OutputFile="$(OutDir)/xsec_1_4_0.dll"
 				LinkIncremental="1"
 				GenerateDebugInformation="TRUE"
 				SubSystem="2"
@@ -146,7 +146,7 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalDependencies="xerces-c_2D.lib crypt32.lib libeay32.lib "
-				OutputFile="$(OutDir)/xsec_1_3_1D.dll"
+				OutputFile="$(OutDir)/xsec_1_4_0D.dll"
 				LinkIncremental="2"
 				GenerateDebugInformation="TRUE"
 				ProgramDatabaseFile="$(OutDir)/xsec_lib.pdb"
@@ -201,7 +201,7 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalDependencies="xerces-c_2.lib crypt32.lib libeay32.lib"
-				OutputFile="$(OutDir)/xsec_1_3_1.dll"
+				OutputFile="$(OutDir)/xsec_1_4_0.dll"
 				LinkIncremental="1"
 				GenerateDebugInformation="TRUE"
 				SubSystem="2"

Modified: xml/security/trunk/c/Projects/VC8.0/xsec/xsec_lib/xsec_lib.vcproj
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/Projects/VC8.0/xsec/xsec_lib/xsec_lib.vcproj?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/Projects/VC8.0/xsec/xsec_lib/xsec_lib.vcproj (original)
+++ xml/security/trunk/c/Projects/VC8.0/xsec/xsec_lib/xsec_lib.vcproj Wed Aug 15 11:51:47 2007
@@ -68,7 +68,7 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalDependencies="xerces-c_2D.lib Xalan-C_1D.lib crypt32.lib libeay32.lib"
-				OutputFile="$(OutDir)/xsec_1_3_1D.dll"
+				OutputFile="$(OutDir)/xsec_1_4_0D.dll"
 				LinkIncremental="2"
 				GenerateDebugInformation="true"
 				ProgramDatabaseFile="$(OutDir)/xsec_lib.pdb"
@@ -155,7 +155,7 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalDependencies="xerces-c_2.lib crypt32.lib libeay32.lib Xalan-C_1.lib"
-				OutputFile="$(OutDir)/xsec_1_3_1.dll"
+				OutputFile="$(OutDir)/xsec_1_4_0.dll"
 				LinkIncremental="1"
 				GenerateDebugInformation="true"
 				SubSystem="2"
@@ -242,7 +242,7 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalDependencies="xerces-c_2D.lib crypt32.lib libeay32.lib"
-				OutputFile="$(OutDir)/xsec_1_3_1D.dll"
+				OutputFile="$(OutDir)/xsec_1_4_0D.dll"
 				LinkIncremental="2"
 				GenerateDebugInformation="true"
 				ProgramDatabaseFile="$(OutDir)/xsec_lib.pdb"
@@ -329,7 +329,7 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalDependencies="xerces-c_2.lib crypt32.lib libeay32.lib"
-				OutputFile="$(OutDir)/xsec_1_3_1.dll"
+				OutputFile="$(OutDir)/xsec_1_4_0.dll"
 				LinkIncremental="1"
 				GenerateDebugInformation="true"
 				SubSystem="2"
@@ -836,6 +836,74 @@
 				</File>
 				<File
 					RelativePath="..\..\..\..\src\enc\XSCrypt\XSCryptCryptoBase64.hpp"
+					>
+				</File>
+			</Filter>
+			<Filter
+				Name="NSS"
+				>
+				<File
+					RelativePath="..\..\..\..\src\enc\NSS\NSSCryptoHash.cpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\..\src\enc\NSS\NSSCryptoHash.hpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\..\src\enc\NSS\NSSCryptoHashHMAC.cpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\..\src\enc\NSS\NSSCryptoHashHMAC.hpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\..\src\enc\NSS\NSSCryptoKeyDSA.cpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\..\src\enc\NSS\NSSCryptoKeyDSA.hpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\..\src\enc\NSS\NSSCryptoKeyHMAC.cpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\..\src\enc\NSS\NSSCryptoKeyHMAC.hpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\..\src\enc\NSS\NSSCryptoKeyRSA.cpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\..\src\enc\NSS\NSSCryptoKeyRSA.hpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\..\src\enc\NSS\NSSCryptoProvider.cpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\..\src\enc\NSS\NSSCryptoProvider.hpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\..\src\enc\NSS\NSSCryptoSymmetricKey.cpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\..\src\enc\NSS\NSSCryptoSymmetricKey.hpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\..\src\enc\NSS\NSSCryptoX509.cpp"
+					>
+				</File>
+				<File
+					RelativePath="..\..\..\..\src\enc\NSS\NSSCryptoX509.hpp"
 					>
 				</File>
 			</Filter>

Modified: xml/security/trunk/c/configure
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/configure?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/configure (original)
+++ xml/security/trunk/c/configure Wed Aug 15 11:51:47 2007
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for XML-Security-C 1.3.1.
+# Generated by GNU Autoconf 2.59 for XML-Security-C 1.4.0.
 #
 # Report bugs to <se...@xml.apache.org>.
 #
@@ -423,8 +423,8 @@
 # Identity of this package.
 PACKAGE_NAME='XML-Security-C'
 PACKAGE_TARNAME='xml-security-c'
-PACKAGE_VERSION='1.3.1'
-PACKAGE_STRING='XML-Security-C 1.3.1'
+PACKAGE_VERSION='1.4.0'
+PACKAGE_STRING='XML-Security-C 1.4.0'
 PACKAGE_BUGREPORT='security-dev@xml.apache.org'
 
 # Factoring default headers for most tests.
@@ -954,7 +954,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures XML-Security-C 1.3.1 to adapt to many kinds of systems.
+\`configure' configures XML-Security-C 1.4.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1020,7 +1020,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of XML-Security-C 1.3.1:";;
+     short | recursive ) echo "Configuration of XML-Security-C 1.4.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1172,7 +1172,7 @@
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-XML-Security-C configure 1.3.1
+XML-Security-C configure 1.4.0
 generated by GNU Autoconf 2.59
 
 Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1186,7 +1186,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by XML-Security-C $as_me 1.3.1, which was
+It was created by XML-Security-C $as_me 1.4.0, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   $ $0 $@
@@ -1832,7 +1832,7 @@
 
 # Define the identity of the package.
  PACKAGE=XMl-Security-C
- VERSION=1.3.1
+ VERSION=1.4.0
 
 
 cat >>confdefs.h <<_ACEOF
@@ -24246,7 +24246,7 @@
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by XML-Security-C $as_me 1.3.1, which was
+This file was extended by XML-Security-C $as_me 1.4.0, which was
 generated by GNU Autoconf 2.59.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -24309,7 +24309,7 @@
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-XML-Security-C config.status 1.3.1
+XML-Security-C config.status 1.4.0
 configured by $0, generated by GNU Autoconf 2.59,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 

Modified: xml/security/trunk/c/configure.ac
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/configure.ac?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/configure.ac (original)
+++ xml/security/trunk/c/configure.ac Wed Aug 15 11:51:47 2007
@@ -19,12 +19,12 @@
 
 # Process this file with autoconf to produce a configure script
 
-AC_INIT([[XML-Security-C]], [1.3.1], [security-dev@xml.apache.org], [xml-security-c])
+AC_INIT([[XML-Security-C]], [1.4.0], [security-dev@xml.apache.org], [xml-security-c])
 AC_CONFIG_AUX_DIR([config])
 
 # kick off automake
 
-AM_INIT_AUTOMAKE(XMl-Security-C, 1.3.1)
+AM_INIT_AUTOMAKE(XMl-Security-C, 1.4.0)
 AM_PROG_LIBTOOL
 
 # We want to control the autotools invocation

Propchange: xml/security/trunk/c/include/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Aug 15 11:51:47 2007
@@ -0,0 +1 @@
+xsec

Modified: xml/security/trunk/c/src/dsig/DSIGKeyInfo.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/dsig/DSIGKeyInfo.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/dsig/DSIGKeyInfo.hpp (original)
+++ xml/security/trunk/c/src/dsig/DSIGKeyInfo.hpp Wed Aug 15 11:51:47 2007
@@ -116,7 +116,7 @@
 	 * Can be used to find what type of KeyInfo this is
 	 */
 
-	virtual keyInfoType getKeyInfoType(void) = 0;
+	virtual keyInfoType getKeyInfoType(void) const = 0;
 
 	/**
 	 * \brief Return the DOMNode that heads up this DOMNode
@@ -134,7 +134,7 @@
 	 * @returns A pointer to a buffer containing the name
 	 */
 
-	virtual const XMLCh * getKeyName(void) = 0;
+	virtual const XMLCh * getKeyName(void) const = 0;
 
 	//@}
 

Modified: xml/security/trunk/c/src/dsig/DSIGKeyInfoList.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/dsig/DSIGKeyInfoList.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/dsig/DSIGKeyInfoList.cpp (original)
+++ xml/security/trunk/c/src/dsig/DSIGKeyInfoList.cpp Wed Aug 15 11:51:47 2007
@@ -75,7 +75,7 @@
 
 }
 
-size_t DSIGKeyInfoList::getSize() {
+size_t DSIGKeyInfoList::getSize() const {
 
 	return m_keyInfoList.size();
 
@@ -91,6 +91,15 @@
 
 }
 
+const DSIGKeyInfo * DSIGKeyInfoList::item(size_type index) const {
+
+	if (index < m_keyInfoList.size())
+		return m_keyInfoList[index];
+	
+	return NULL;
+
+}
+
 void DSIGKeyInfoList::empty() {
 
 	size_type i, s;
@@ -103,7 +112,7 @@
 
 }
 
-bool DSIGKeyInfoList::isEmpty() {
+bool DSIGKeyInfoList::isEmpty() const {
 
 		return (m_keyInfoList.size() == 0);
 

Modified: xml/security/trunk/c/src/dsig/DSIGKeyInfoList.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/dsig/DSIGKeyInfoList.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/dsig/DSIGKeyInfoList.hpp (original)
+++ xml/security/trunk/c/src/dsig/DSIGKeyInfoList.hpp Wed Aug 15 11:51:47 2007
@@ -106,7 +106,7 @@
 	 * @returns the number of elements in the list
 	 */
 
-	size_t getSize();
+	size_t getSize() const;
 
 	/*
 	 * \brief Get an item
@@ -121,6 +121,19 @@
 
 	DSIGKeyInfo * item(size_type index);
 
+	/*
+	 * \brief Get an item
+	 *
+	 * Returns the item at index point in the list
+	 *
+	 * @note This is an internal function and should not be called directly
+	 *
+	 * @param index Pointer into the list
+	 * @returns The indicated element or 0 if it does not exist.
+	 */
+
+	const DSIGKeyInfo * item(size_type index) const;
+
 	//@}
 
 	/** @name Manipulate the List */
@@ -217,7 +230,7 @@
 	 * @returns true Iff there are no elements in the list
 	 */
 
-	bool isEmpty();
+	bool isEmpty() const;
 
 	//@}
 

Modified: xml/security/trunk/c/src/dsig/DSIGKeyInfoMgmtData.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/dsig/DSIGKeyInfoMgmtData.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/dsig/DSIGKeyInfoMgmtData.hpp (original)
+++ xml/security/trunk/c/src/dsig/DSIGKeyInfoMgmtData.hpp Wed Aug 15 11:51:47 2007
@@ -100,7 +100,7 @@
 	 * \brief Get key name - unimplemented for MgmtData
 	 */
 
-	virtual const XMLCh * getKeyName(void) {return NULL;}
+	virtual const XMLCh * getKeyName(void) const {return NULL;}
 
 	/**
 	 * \brief Get the MgmtData string
@@ -110,7 +110,7 @@
 	 * @returns A pointer to the XMLCh buffer containing the data
 	 */
 
-	virtual const XMLCh * getData(void) {return mp_data;};
+	virtual const XMLCh * getData(void) const {return mp_data;};
 
 	//@}
 
@@ -148,7 +148,7 @@
 	 * \brief Return type of this KeyInfo element
 	 */
 	
-	virtual keyInfoType getKeyInfoType(void) {return DSIGKeyInfo::KEYINFO_MGMTDATA;}
+	virtual keyInfoType getKeyInfoType(void) const {return DSIGKeyInfo::KEYINFO_MGMTDATA;}
 
 	//@}
 

Modified: xml/security/trunk/c/src/dsig/DSIGKeyInfoName.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/dsig/DSIGKeyInfoName.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/dsig/DSIGKeyInfoName.hpp (original)
+++ xml/security/trunk/c/src/dsig/DSIGKeyInfoName.hpp Wed Aug 15 11:51:47 2007
@@ -103,7 +103,7 @@
 	 * @returns A pointer to the char buffer containing the key name
 	 */
 
-	virtual const XMLCh * getKeyName(void) {return mp_name;};
+	virtual const XMLCh * getKeyName(void) const {return mp_name;};
 
 	/**
 	 * \brief Get the decoded key name (for distinguished names)
@@ -156,7 +156,7 @@
 	 * \brief Return type of this KeyInfo element
 	 */
 	
-	virtual keyInfoType getKeyInfoType(void) {return DSIGKeyInfo::KEYINFO_NAME;}
+	virtual keyInfoType getKeyInfoType(void) const {return DSIGKeyInfo::KEYINFO_NAME;}
 
 	//@}
 

Modified: xml/security/trunk/c/src/dsig/DSIGKeyInfoPGPData.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/dsig/DSIGKeyInfoPGPData.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/dsig/DSIGKeyInfoPGPData.hpp (original)
+++ xml/security/trunk/c/src/dsig/DSIGKeyInfoPGPData.hpp Wed Aug 15 11:51:47 2007
@@ -106,7 +106,7 @@
 	 * PGP Key ID
 	 */
 
-	virtual const XMLCh * getKeyID(void) {return mp_keyID;}
+	virtual const XMLCh * getKeyID(void) const {return mp_keyID;}
 
 	/**
 	 * \brief Get the PGP Key Packet
@@ -117,13 +117,13 @@
 	 * base64 encoded format
 	 */
 
-	virtual const XMLCh * getKeyPacket(void) {return mp_keyPacket;}
+	virtual const XMLCh * getKeyPacket(void) const {return mp_keyPacket;}
 
 	/**
 	 * \brief Get key name - unimplemented for PGP packets
 	 */
 
-	virtual const XMLCh * getKeyName(void) {return NULL;}
+	virtual const XMLCh * getKeyName(void) const {return NULL;}
 
 	//@}
 
@@ -173,7 +173,7 @@
 	 * \brief Return type of this KeyInfo element
 	 */
 	
-	virtual keyInfoType getKeyInfoType(void) {return DSIGKeyInfo::KEYINFO_PGPDATA;}
+	virtual keyInfoType getKeyInfoType(void) const {return DSIGKeyInfo::KEYINFO_PGPDATA;}
 
 	//@}
 

Modified: xml/security/trunk/c/src/dsig/DSIGKeyInfoSPKIData.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/dsig/DSIGKeyInfoSPKIData.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/dsig/DSIGKeyInfoSPKIData.cpp (original)
+++ xml/security/trunk/c/src/dsig/DSIGKeyInfoSPKIData.cpp Wed Aug 15 11:51:47 2007
@@ -126,13 +126,13 @@
 
 }
 
-unsigned int DSIGKeyInfoSPKIData::getSexpSize(void) {
+unsigned int DSIGKeyInfoSPKIData::getSexpSize(void) const {
 
 	return (unsigned int) m_sexpList.size();
 
 }
 
-const XMLCh * DSIGKeyInfoSPKIData::getSexp(unsigned int index) {
+const XMLCh * DSIGKeyInfoSPKIData::getSexp(unsigned int index) const {
 
 	if (index >= m_sexpList.size()) {
 

Modified: xml/security/trunk/c/src/dsig/DSIGKeyInfoSPKIData.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/dsig/DSIGKeyInfoSPKIData.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/dsig/DSIGKeyInfoSPKIData.hpp (original)
+++ xml/security/trunk/c/src/dsig/DSIGKeyInfoSPKIData.hpp Wed Aug 15 11:51:47 2007
@@ -106,7 +106,7 @@
 	 * @returns The number of S-expressions
 	 */
 
-	unsigned int getSexpSize(void);
+	unsigned int getSexpSize(void) const;
 
 	/**
 	 * \brief returns the indicated SExpression
@@ -118,13 +118,13 @@
 	 * S-expression
 	 */
 
-	virtual const XMLCh * getSexp(unsigned int index);
+	virtual const XMLCh * getSexp(unsigned int index) const;
 
 	/**
 	 * \brief Get key name - unimplemented for SPKI packets
 	 */
 
-	virtual const XMLCh * getKeyName(void) {return NULL;}
+	virtual const XMLCh * getKeyName(void) const {return NULL;}
 
 	//@}
 
@@ -165,7 +165,7 @@
 	 * \brief Return type of this KeyInfo element
 	 */
 	
-	virtual keyInfoType getKeyInfoType(void) {return DSIGKeyInfo::KEYINFO_SPKIDATA;}
+	virtual keyInfoType getKeyInfoType(void) const {return DSIGKeyInfo::KEYINFO_SPKIDATA;}
 
 	//@}
 

Modified: xml/security/trunk/c/src/dsig/DSIGKeyInfoValue.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/dsig/DSIGKeyInfoValue.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/dsig/DSIGKeyInfoValue.cpp (original)
+++ xml/security/trunk/c/src/dsig/DSIGKeyInfoValue.cpp Wed Aug 15 11:51:47 2007
@@ -189,7 +189,7 @@
 //           Get RSA Values
 // --------------------------------------------------------------------------------
 
-const XMLCh* DSIGKeyInfoValue::getRSAModulus(void) {
+const XMLCh* DSIGKeyInfoValue::getRSAModulus(void) const {
 
 	if (m_keyInfoType != KEYINFO_VALUE_RSA) {
 
@@ -205,7 +205,7 @@
 
 }
 
-const XMLCh * DSIGKeyInfoValue::getRSAExponent(void) {
+const XMLCh * DSIGKeyInfoValue::getRSAExponent(void) const {
 
 	if (m_keyInfoType != KEYINFO_VALUE_RSA) {
 
@@ -417,13 +417,13 @@
 //           Other interface functions
 // --------------------------------------------------------------------------------
 
-DSIGKeyInfo::keyInfoType DSIGKeyInfoValue::getKeyInfoType(void) {
+DSIGKeyInfo::keyInfoType DSIGKeyInfoValue::getKeyInfoType(void) const {
 
 	return m_keyInfoType;
 
 }
 
-const XMLCh * DSIGKeyInfoValue::getKeyName(void) {
+const XMLCh * DSIGKeyInfoValue::getKeyName(void) const {
 
 	return DSIGConstants::s_unicodeStrEmpty;
 

Modified: xml/security/trunk/c/src/dsig/DSIGKeyInfoValue.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/dsig/DSIGKeyInfoValue.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/dsig/DSIGKeyInfoValue.hpp (original)
+++ xml/security/trunk/c/src/dsig/DSIGKeyInfoValue.hpp Wed Aug 15 11:51:47 2007
@@ -114,7 +114,7 @@
 	 * @returns a pointer to the DSA P string value.
 	 */
 
-	const XMLCh * getDSAP(void) {return mp_PTextNode->getNodeValue();}
+	const XMLCh * getDSAP(void) const {return mp_PTextNode->getNodeValue();}
 
 	/**
 	 * \brief Get Q value
@@ -122,7 +122,7 @@
 	 * @returns a pointer to the DSA Q string value.
 	 */
 
-	const XMLCh * getDSAQ(void) {return mp_QTextNode->getNodeValue();}
+	const XMLCh * getDSAQ(void) const {return mp_QTextNode->getNodeValue();}
 
 	/**
 	 * \brief Get G value
@@ -130,7 +130,7 @@
 	 * @returns a pointer to the DSA G string value.
 	 */
 
-	const XMLCh * getDSAG(void) {return mp_GTextNode->getNodeValue();}
+	const XMLCh * getDSAG(void) const {return mp_GTextNode->getNodeValue();}
 
 	/**
 	 * \brief Get Y value
@@ -138,7 +138,7 @@
 	 * @returns a pointer to the DSA Y string value.
 	 */
 
-	const XMLCh * getDSAY(void) {return mp_YTextNode->getNodeValue();}
+	const XMLCh * getDSAY(void) const {return mp_YTextNode->getNodeValue();}
 
 	/**
 	 * \brief Get Modulus
@@ -146,7 +146,7 @@
 	 * @returns A pointer to the RSA Modulus
 	 */
 
-	const XMLCh * getRSAModulus(void);
+	const XMLCh * getRSAModulus(void) const;
 
 	/**
 	 * \brief Get Exponent
@@ -154,7 +154,7 @@
 	 * @returns A pointer to the buffer containing the RSA Modulus string
 	 */
 
-	const XMLCh * getRSAExponent(void);
+	const XMLCh * getRSAExponent(void) const;
 
 	//@}
 
@@ -266,7 +266,7 @@
 	 * @returns the type of this keyInfo node
 	 */
 
-	virtual keyInfoType getKeyInfoType(void);
+	virtual keyInfoType getKeyInfoType(void) const;
 
 	/**
 	 * \brief Get the name of this key (irrelevant for a KeyValue)
@@ -274,7 +274,7 @@
 	 * @returns NULL
 	 */
 
-	virtual const XMLCh * getKeyName(void);
+	virtual const XMLCh * getKeyName(void) const;
 
 	//@}
 private:

Modified: xml/security/trunk/c/src/dsig/DSIGKeyInfoX509.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/dsig/DSIGKeyInfoX509.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/dsig/DSIGKeyInfoX509.cpp (original)
+++ xml/security/trunk/c/src/dsig/DSIGKeyInfoX509.cpp Wed Aug 15 11:51:47 2007
@@ -276,7 +276,7 @@
 
 }
 
-const XMLCh * DSIGKeyInfoX509::getKeyName(void) {
+const XMLCh * DSIGKeyInfoX509::getKeyName(void) const {
 
 	return mp_X509SubjectName;
 
@@ -284,38 +284,38 @@
 
 }
 
-const XMLCh * DSIGKeyInfoX509::getX509SubjectName(void) {
+const XMLCh * DSIGKeyInfoX509::getX509SubjectName(void) const {
 
 
 	return mp_X509SubjectName;
 
 }
 
-const XMLCh * DSIGKeyInfoX509::getX509IssuerName(void) {
+const XMLCh * DSIGKeyInfoX509::getX509IssuerName(void) const {
 
 	return mp_X509IssuerName;
 
 }
 
-const XMLCh * DSIGKeyInfoX509::getX509CRL(void) {
+const XMLCh * DSIGKeyInfoX509::getX509CRL(void) const {
 
 	return mp_X509CRL;
 
 }
 
-const XMLCh * DSIGKeyInfoX509::getX509SKI(void) {
+const XMLCh * DSIGKeyInfoX509::getX509SKI(void) const {
 
 	return mp_X509SKI;
 
 }
 
-const XMLCh * DSIGKeyInfoX509::getX509IssuerSerialNumber(void) {
+const XMLCh * DSIGKeyInfoX509::getX509IssuerSerialNumber(void) const {
 
 	return mp_X509SerialNumber;
 
 }
 
-int DSIGKeyInfoX509::getCertificateListSize(void) {
+int DSIGKeyInfoX509::getCertificateListSize(void) const {
 
 	return (int) m_X509List.size();
 
@@ -323,7 +323,7 @@
 
 
 
-const XMLCh * DSIGKeyInfoX509::getCertificateItem(int item) {
+const XMLCh * DSIGKeyInfoX509::getCertificateItem(int item) const {
 
 	if (item >=0 && (unsigned int) item < m_X509List.size())
 		return m_X509List[item]->mp_encodedX509;
@@ -334,13 +334,21 @@
 
 XSECCryptoX509 * DSIGKeyInfoX509::getCertificateCryptoItem(int item) {
 
+    if (item >=0 && (unsigned int) item < m_X509List.size())
+        return m_X509List[item]->mp_cryptoX509;
+
+    return 0;
+}
+
+const XSECCryptoX509 * DSIGKeyInfoX509::getCertificateCryptoItem(int item) const {
+
 	if (item >=0 && (unsigned int) item < m_X509List.size())
 		return m_X509List[item]->mp_cryptoX509;
 
 	return 0;
 }
 
-const XMLCh * DSIGKeyInfoX509::getRawRetrievalURI(void) {
+const XMLCh * DSIGKeyInfoX509::getRawRetrievalURI(void) const {
 
 	return mp_rawRetrievalURI;
 

Modified: xml/security/trunk/c/src/dsig/DSIGKeyInfoX509.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/dsig/DSIGKeyInfoX509.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/dsig/DSIGKeyInfoX509.hpp (original)
+++ xml/security/trunk/c/src/dsig/DSIGKeyInfoX509.hpp Wed Aug 15 11:51:47 2007
@@ -128,7 +128,7 @@
 	 * (NULL if not set.)
 	 */
 
-	const XMLCh * getX509SubjectName(void);
+	const XMLCh * getX509SubjectName(void) const;
 
 	/**
 	 * \brief Get the name of the certificate (interface function)
@@ -141,7 +141,7 @@
 	 * @see setX509SubjectName(void)
 	 */
 
-	const XMLCh * getKeyName(void);
+	const XMLCh * getKeyName(void) const;
 	
 	/**
 	 * \brief Get the IssuerSerialName
@@ -152,7 +152,7 @@
 	 * (0 if not set.)
 	 */
 
-	const XMLCh * getX509IssuerName(void);
+	const XMLCh * getX509IssuerName(void) const;
 
 	/**
 	 * \brief Get the IsserSerialNumber
@@ -165,7 +165,7 @@
 	 * @see setX509IssuerSerial
 	 */
 
-	const XMLCh * getX509IssuerSerialNumber(void);
+	const XMLCh * getX509IssuerSerialNumber(void) const;
 
 	/**
 	 * \brief Get any associated CRL
@@ -177,7 +177,7 @@
 	 * (0 if not set)
 	 */
 
-	const XMLCh * getX509CRL(void);
+	const XMLCh * getX509CRL(void) const;
 
 	/**
 	 * \brief Get the SKI value (if set)
@@ -189,7 +189,7 @@
 	 * @returns the base64 encoded (plan - not DER) encoded SKI value
 	 */
 
-	const XMLCh * getX509SKI(void);
+	const XMLCh * getX509SKI(void) const;
 
 	/**
 	 * \brief Return the raw Retrieval method to find this certificate
@@ -199,7 +199,7 @@
 	 * this string to allow others to find the certificate
 	 */
 
-	const XMLCh * getRawRetrievalURI(void);
+	const XMLCh * getRawRetrievalURI(void) const;
 
 	/**
 	 * \brief Find the number of certificates held
@@ -209,7 +209,7 @@
 	 * @returns The number of certificates
 	 */
 
-	int getCertificateListSize(void);
+	int getCertificateListSize(void) const;
 
 	/**
 	 * \brief Get the DER encoded certificate pointed to in the list.
@@ -221,7 +221,7 @@
 	 * no certificate exists at that point in the list.
 	 */
 
-	const XMLCh * getCertificateItem(int item);
+	const XMLCh * getCertificateItem(int item) const;
 
 	/**
 	 * \brief Get the Crypto Interface X509 structure version of the certificate
@@ -234,11 +234,22 @@
 
 	XSECCryptoX509 * getCertificateCryptoItem(int item);
 
+    /**
+	 * \brief Get the Crypto Interface X509 structure version of the certificate
+	 *
+	 * Use the index to find the required certificate and return a pointer
+	 * to the XSECCryptoX509 cert
+	 *
+	 * @returns A pointer to the XSECCryptoX509 cert structure
+	 */
+
+	const XSECCryptoX509 * getCertificateCryptoItem(int item) const;
+
 	/**
 	 * \brief Interface function to find the type of this KeyInfo
 	 */
 	
-	virtual keyInfoType getKeyInfoType(void) {return DSIGKeyInfo::KEYINFO_X509;}
+	virtual keyInfoType getKeyInfoType(void) const {return DSIGKeyInfo::KEYINFO_X509;}
 
 	//@}
 

Modified: xml/security/trunk/c/src/dsig/DSIGSignature.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/dsig/DSIGSignature.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/dsig/DSIGSignature.cpp (original)
+++ xml/security/trunk/c/src/dsig/DSIGSignature.cpp Wed Aug 15 11:51:47 2007
@@ -329,6 +329,12 @@
 
 }
 
+const DSIGReferenceList * DSIGSignature::getReferenceList(void) const {
+
+	return mp_signedInfo->getReferenceList();
+
+}
+
 // --------------------------------------------------------------------------------
 //           Set and Get Resolvers
 // --------------------------------------------------------------------------------
@@ -340,7 +346,7 @@
 
 }
 
-XSECURIResolver * DSIGSignature::getURIResolver(void) {
+XSECURIResolver * DSIGSignature::getURIResolver(void) const {
 
 	return mp_env->getURIResolver();
 
@@ -355,7 +361,7 @@
 
 }
 
-XSECKeyInfoResolver * DSIGSignature::getKeyInfoResolver(void) {
+XSECKeyInfoResolver * DSIGSignature::getKeyInfoResolver(void) const {
 
 	return mp_KeyInfoResolver;
 
@@ -380,7 +386,7 @@
 
 }
 
-int DSIGSignature::getObjectLength(void) {
+int DSIGSignature::getObjectLength(void) const {
 
 	return (unsigned int) m_objects.size();
 
@@ -397,6 +403,17 @@
 
 }
 
+const DSIGObject * DSIGSignature::getObjectItem(int i) const {
+
+	if ( i < 0 || i >= ((int) m_objects.size())) {
+		throw XSECException(XSECException::ObjectError,
+			"DSIGSignature::getObjectItem - index out of range");
+	}
+
+	return m_objects[i];
+
+}
+
 // --------------------------------------------------------------------------------
 //           Signature
 // --------------------------------------------------------------------------------
@@ -488,7 +505,7 @@
 
 // Actions
 
-const XMLCh * DSIGSignature::getErrMsgs() {
+const XMLCh * DSIGSignature::getErrMsgs() const {
 
 	return m_errStr.rawXMLChBuffer();
 
@@ -505,7 +522,7 @@
 }
 
 
-bool DSIGSignature::getPrettyPrint(void) {
+bool DSIGSignature::getPrettyPrint(void) const {
 
 	return mp_env->getPrettyPrintFlag();
 
@@ -535,20 +552,20 @@
 
 // get
 
-const XMLCh * DSIGSignature::getDSIGNSPrefix() {
+const XMLCh * DSIGSignature::getDSIGNSPrefix() const {
 
 	return mp_env->getDSIGNSPrefix();
 
 }
 
 
-const XMLCh * DSIGSignature::getECNSPrefix() {
+const XMLCh * DSIGSignature::getECNSPrefix() const {
 
 	return mp_env->getECNSPrefix();
 
 }
 
-const XMLCh * DSIGSignature::getXPFNSPrefix() {
+const XMLCh * DSIGSignature::getXPFNSPrefix() const {
 
 	return mp_env->getXPFNSPrefix();
 
@@ -1228,7 +1245,7 @@
 
 }
 
-bool DSIGSignature::getIdByAttributeName(void) {
+bool DSIGSignature::getIdByAttributeName(void) const {
 
 	return mp_env->getIdByAttributeName();
 

Modified: xml/security/trunk/c/src/dsig/DSIGSignature.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/dsig/DSIGSignature.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/dsig/DSIGSignature.hpp (original)
+++ xml/security/trunk/c/src/dsig/DSIGSignature.hpp Wed Aug 15 11:51:47 2007
@@ -276,7 +276,7 @@
 	 * @returns True if Pretty Printing is active, false if not
 	 */
 
-	bool getPrettyPrint(void);
+	bool getPrettyPrint(void) const;
 
 	/**
 	 * \brief Create a \<Signature\> DOM structure.
@@ -439,6 +439,17 @@
 	DSIGReferenceList * getReferenceList(void);
 
 	/**
+	 * \brief Return the reference list for outside use.
+	 *
+	 * Returns a pointer to the list of references which can
+	 * then be read by the caller.
+	 *
+	 * @returns The referenceList
+	 */
+
+	const DSIGReferenceList * getReferenceList(void) const;
+
+	/**
 	 * \brief Create an input stream from SignedInfo.
 	 *
 	 * This method allows applications to read the fully canonicalised
@@ -467,7 +478,7 @@
 	 *
 	 */
 
-	const XMLCh * getErrMsgs(void);
+	const XMLCh * getErrMsgs(void) const;
 
 	/**
 	 * \brief Get the NS Prefix being used for DSIG elements.
@@ -477,7 +488,7 @@
 	 *
 	 */
 
-	const XMLCh * getDSIGNSPrefix();
+	const XMLCh * getDSIGNSPrefix() const;
 
 	/**
 	 * \brief Get the NS being used for EC nodes
@@ -486,7 +497,7 @@
 	 * @see #setECNSPrefix
 	 */
 
-	const XMLCh * getECNSPrefix();
+	const XMLCh * getECNSPrefix() const;
 
 	/**
 	 * \brief Get the NS being used for XPath Filter2 nodes
@@ -495,7 +506,7 @@
 	 * @see #setXPFNSPrefix
 	 */
 
-	const XMLCh * getXPFNSPrefix();
+	const XMLCh * getXPFNSPrefix() const;
 
 	/**
 	 * \brief
@@ -507,7 +518,7 @@
 	 * @returns The DOM_Document node.
 	 */
 
-	XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * getParentDocument() 
+	XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument * getParentDocument() const
 		{return mp_doc;}
 
 	/**
@@ -519,7 +530,7 @@
 	 * @returns The canonicalisation method
 	 */
 
-	canonicalizationMethod getCanonicalizationMethod(void) 
+	canonicalizationMethod getCanonicalizationMethod(void) const
 	{return (mp_signedInfo != NULL ? 
 			 mp_signedInfo->getCanonicalizationMethod() : CANON_NONE);}
 
@@ -533,7 +544,7 @@
 	 * @returns the Hash (digest) Method
 	 */
 
-	hashMethod getHashMethod(void)
+	hashMethod getHashMethod(void) const
 	{return (mp_signedInfo != NULL ? 
 			 mp_signedInfo->getHashMethod() : HASH_NONE);}
 
@@ -546,7 +557,7 @@
 	 * @returns the Signature method
 	 */
 
-	signatureMethod getSignatureMethod(void)
+	signatureMethod getSignatureMethod(void) const
 	{return (mp_signedInfo != NULL ? 
 			 mp_signedInfo->getSignatureMethod() : SIGNATURE_NONE);}
 
@@ -610,7 +621,7 @@
 	 * @return Value of flag - true for interlocking references, false for standalone
 	 */
 
-	bool getInterlockingReferences(void) {return m_interlockingReferences;}
+	bool getInterlockingReferences(void) const {return m_interlockingReferences;}
 
 	//@}
 
@@ -633,7 +644,7 @@
 	 * @returns A pointer to the URIResolver registered in this signature
 	 */
 
-	XSECURIResolver * getURIResolver(void);
+	XSECURIResolver * getURIResolver(void) const;
 
 	/**
 	 * \brief Register a KeyInfoResolver 
@@ -651,7 +662,7 @@
 	 * @returns A pointer to the KeyInfoResolver registered in this signature
 	 */
 
-	XSECKeyInfoResolver * getKeyInfoResolver(void);
+	XSECKeyInfoResolver * getKeyInfoResolver(void) const;
 
 	//@}
 
@@ -677,6 +688,23 @@
 	DSIGKeyInfoList * getKeyInfoList() {return &m_keyInfoList;}
 
 	/**
+	 * \brief Get the list of \<KeyInfo\> elements.
+	 *
+	 * <p>This function recovers list that contains the KeyInfo elements
+	 * read in from the DOM document.</p>
+	 *
+	 * <p>This list should be used by calling applications to determine what key
+	 * is appropriate for validating (or even signing) the Signature.</p>
+	 *
+	 * @todo The KeyInfo process is very primitive.  An interface needs to be
+	 * created to allow application developers to install an object into the Signature
+	 * that the Signature can call on to translate KeyInfo lists into a Key.
+	 * @returns A pointer to the DSIGKeyInfoList object held by the DSIGSignature
+	 */
+	
+	const DSIGKeyInfoList * getKeyInfoList() const {return &m_keyInfoList;}
+
+	/**
 	 * \brief Clear out all KeyInfo elements in the signature.
 	 *
 	 * This function will delete all KeyInfo elements from both the DSIGSignature
@@ -799,7 +827,7 @@
 	 * @returns the number of ds:Object nodes held in the Signature, 0 if none
 	 */
 
-	int getObjectLength(void);
+	int getObjectLength(void) const;
 
 	/**
 	 * \brief Get a particular ds:Object from within the Signature
@@ -810,6 +838,15 @@
 
 	DSIGObject * getObjectItem(int i);
 
+	/**
+	 * \brief Get a particular ds:Object from within the Signature
+	 *
+	 * @returns the ith Object from the list of ds:Object nodes in the signature.
+	 * Items are ordered in tree order.
+	 */
+
+	const DSIGObject * getObjectItem(int i) const;
+
 	//@}
 
 	/** @name ID handling */
@@ -851,7 +888,7 @@
 	 * @returns The value of the IdByAttributeName flag
 	 */
 
-	bool getIdByAttributeName(void);
+	bool getIdByAttributeName(void) const;
 
 	/**
 	 * \brief Add an attribute name to be searched for when looking for Id attributes
@@ -943,13 +980,13 @@
 	DSIGKeyInfoList				m_keyInfoList;
 	XERCES_CPP_NAMESPACE_QUALIFIER DOMNode						
 								* mp_KeyInfoNode;
-	safeBuffer					m_errStr;
+	safeBuffer			        m_errStr;
 
 	// Environment
 	XSECEnv						* mp_env;
 	
 	// The signing/verifying key
-	XSECCryptoKey				* mp_signingKey;
+	mutable XSECCryptoKey		* mp_signingKey;
 
 	// Resolvers
 	XSECKeyInfoResolver			* mp_KeyInfoResolver;

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

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

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

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

Modified: xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyDSA.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyDSA.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyDSA.cpp (original)
+++ xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyDSA.cpp Wed Aug 15 11:51:47 2007
@@ -84,7 +84,7 @@
 //           Get key type
 // --------------------------------------------------------------------------------
 
-XSECCryptoKey::KeyType NSSCryptoKeyDSA::getKeyType() {
+XSECCryptoKey::KeyType NSSCryptoKeyDSA::getKeyType() const {
 
   // Find out what we have
 	if (mp_pubkey == NULL) {
@@ -372,7 +372,7 @@
 //           Clone key
 // --------------------------------------------------------------------------------
 
-XSECCryptoKey * NSSCryptoKeyDSA::clone() {
+XSECCryptoKey * NSSCryptoKeyDSA::clone() const {
 
 	NSSCryptoKeyDSA * ret = NULL;
 

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

Modified: xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyHMAC.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyHMAC.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyHMAC.cpp (original)
+++ xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyHMAC.cpp Wed Aug 15 11:51:47 2007
@@ -55,7 +55,7 @@
 //           Get key
 // --------------------------------------------------------------------------------
 
-unsigned int NSSCryptoKeyHMAC::getKey(safeBuffer &outBuf) {
+unsigned int NSSCryptoKeyHMAC::getKey(safeBuffer &outBuf) const {
 
 	outBuf = m_keyBuf;
 	return m_keyLen;
@@ -66,7 +66,7 @@
 //           Replicate key
 // --------------------------------------------------------------------------------
 
-XSECCryptoKey * NSSCryptoKeyHMAC::clone() {
+XSECCryptoKey * NSSCryptoKeyHMAC::clone() const {
 
 	NSSCryptoKeyHMAC * ret;
 

Modified: xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyHMAC.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyHMAC.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyHMAC.hpp (original)
+++ xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyHMAC.hpp Wed Aug 15 11:51:47 2007
@@ -70,19 +70,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 NSS string identifier
 	 */
 
-	virtual const XMLCh * getProviderName() {return DSIGConstants::s_unicodeStrPROVNSS;}
+	virtual const XMLCh * getProviderName() const {return DSIGConstants::s_unicodeStrPROVNSS;}
 
 	//@}
 
@@ -113,7 +113,7 @@
 	 * @returns number of bytes copied in
 	 */
 
-	virtual unsigned int getKey(safeBuffer &outBuf);
+	virtual unsigned int getKey(safeBuffer &outBuf) const;
 
 	//@}
 

Modified: xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyRSA.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyRSA.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyRSA.cpp (original)
+++ xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyRSA.cpp Wed Aug 15 11:51:47 2007
@@ -79,7 +79,7 @@
 //           Get key type
 // --------------------------------------------------------------------------------
 
-XSECCryptoKey::KeyType NSSCryptoKeyRSA::getKeyType() {
+XSECCryptoKey::KeyType NSSCryptoKeyRSA::getKeyType() const {
 
 	// Find out what we have
 	if (mp_pubkey == 0) {
@@ -119,7 +119,7 @@
 //           Get OAEP parameters length
 // --------------------------------------------------------------------------------
 
-unsigned int NSSCryptoKeyRSA::getOAEPparamsLen(void) {
+unsigned int NSSCryptoKeyRSA::getOAEPparamsLen(void) const {
 
 	return 0;
 
@@ -129,7 +129,7 @@
 //           Get OAEP parameters
 // --------------------------------------------------------------------------------
 
-const unsigned char * NSSCryptoKeyRSA::getOAEPparams(void) {
+const unsigned char * NSSCryptoKeyRSA::getOAEPparams(void) const {
 
 	return NULL;
 
@@ -398,7 +398,7 @@
 //           Clone key
 // --------------------------------------------------------------------------------
 
-XSECCryptoKey * NSSCryptoKeyRSA::clone() {
+XSECCryptoKey * NSSCryptoKeyRSA::clone() const {
 
 	NSSCryptoKeyRSA * ret;
 
@@ -645,7 +645,7 @@
 //           Get key size in bytes
 // --------------------------------------------------------------------------------
 
-unsigned int NSSCryptoKeyRSA::getLength(void) {
+unsigned int NSSCryptoKeyRSA::getLength(void)  const {
 
   unsigned int ret = 0;
 

Modified: xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyRSA.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyRSA.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyRSA.hpp (original)
+++ xml/security/trunk/c/src/enc/NSS/NSSCryptoKeyRSA.hpp Wed Aug 15 11:51:47 2007
@@ -77,19 +77,19 @@
 	 * public key, private key or a key pair
 	 */
 
-	virtual XSECCryptoKey::KeyType getKeyType();
+	virtual XSECCryptoKey::KeyType getKeyType() const;
 
 	/**
 	 * \brief Return the NSS identifier string
 	 */
 	
-	virtual const XMLCh * getProviderName() {return DSIGConstants::s_unicodeStrPROVNSS;}
+	virtual const XMLCh * getProviderName() const {return DSIGConstants::s_unicodeStrPROVNSS;}
 	
 	/**
 	 * \brief Replicate key
 	 */
 
-	virtual XSECCryptoKey * clone();
+	virtual XSECCryptoKey * clone() const;
 
 	//@}
 
@@ -125,7 +125,7 @@
    * return 0
 	 */
 
-	virtual unsigned int getOAEPparamsLen(void);
+	virtual unsigned int getOAEPparamsLen(void) const;
 
 	/**
 	 * \brief Get the OAEPparams
@@ -136,7 +136,7 @@
    * return NULL
 	 */
 
-	virtual const unsigned char * getOAEPparams(void);
+	virtual const unsigned char * getOAEPparams(void) const;
 
 	/**
 	 * \brief Verify a SHA1 PKCS1 encoded signature
@@ -232,7 +232,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/NSS/NSSCryptoProvider.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/NSS/NSSCryptoProvider.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/NSS/NSSCryptoProvider.cpp (original)
+++ xml/security/trunk/c/src/enc/NSS/NSSCryptoProvider.cpp Wed Aug 15 11:51:47 2007
@@ -123,7 +123,7 @@
 //           Get NSS string
 // --------------------------------------------------------------------------------
 
-const XMLCh * NSSCryptoProvider::getProviderName() {
+const XMLCh * NSSCryptoProvider::getProviderName() const {
 
 	return DSIGConstants::s_unicodeStrPROVNSS;
 
@@ -133,7 +133,7 @@
 //           Hash SHA1
 // --------------------------------------------------------------------------------
 
-XSECCryptoHash	* NSSCryptoProvider::hashSHA1() {
+XSECCryptoHash	* NSSCryptoProvider::hashSHA1() const {
 
 	NSSCryptoHash * ret;
 
@@ -147,7 +147,7 @@
 //           Hash SHA
 // --------------------------------------------------------------------------------
 
-XSECCryptoHash	* NSSCryptoProvider::hashSHA(int length) {
+XSECCryptoHash	* NSSCryptoProvider::hashSHA(int length) const {
 
 	NSSCryptoHash * ret;
 
@@ -173,7 +173,7 @@
 //           Hash HMAC SHA1
 // --------------------------------------------------------------------------------
 
-XSECCryptoHash * NSSCryptoProvider::hashHMACSHA1() {
+XSECCryptoHash * NSSCryptoProvider::hashHMACSHA1() const {
 
 	NSSCryptoHashHMAC * ret;
 
@@ -187,7 +187,7 @@
 //           Hash HMAC SHA
 // --------------------------------------------------------------------------------
 
-XSECCryptoHash * NSSCryptoProvider::hashHMACSHA(int length) {
+XSECCryptoHash * NSSCryptoProvider::hashHMACSHA(int length) const {
 
 	NSSCryptoHashHMAC * ret;
 
@@ -213,7 +213,7 @@
 //           Hash MD5
 // --------------------------------------------------------------------------------
 
-XSECCryptoHash	* NSSCryptoProvider::hashMD5() {
+XSECCryptoHash	* NSSCryptoProvider::hashMD5() const {
 
 	NSSCryptoHash * ret;
 
@@ -227,7 +227,7 @@
 //           Hash HMAC MD5
 // --------------------------------------------------------------------------------
 
-XSECCryptoHash * NSSCryptoProvider::hashHMACMD5() {
+XSECCryptoHash * NSSCryptoProvider::hashHMACMD5()const {
 
 	NSSCryptoHashHMAC * ret;
 
@@ -241,7 +241,7 @@
 //           Get HMAC key
 // --------------------------------------------------------------------------------
 
-XSECCryptoKeyHMAC * NSSCryptoProvider::keyHMAC(void) {
+XSECCryptoKeyHMAC * NSSCryptoProvider::keyHMAC(void) const {
 
 	NSSCryptoKeyHMAC * ret;
 
@@ -255,7 +255,7 @@
 //           Get DSA key
 // --------------------------------------------------------------------------------
 
-XSECCryptoKeyDSA * NSSCryptoProvider::keyDSA() {
+XSECCryptoKeyDSA * NSSCryptoProvider::keyDSA() const {
 	
 	NSSCryptoKeyDSA * ret;
 
@@ -269,7 +269,7 @@
 //           Get RSA key
 // --------------------------------------------------------------------------------
 
-XSECCryptoKeyRSA * NSSCryptoProvider::keyRSA() {
+XSECCryptoKeyRSA * NSSCryptoProvider::keyRSA() const {
 	
 	NSSCryptoKeyRSA * ret;
 
@@ -284,7 +284,7 @@
 // --------------------------------------------------------------------------------
 
 XSECCryptoSymmetricKey	* NSSCryptoProvider::keySymmetric(
-                               XSECCryptoSymmetricKey::SymmetricKeyType alg) {
+                               XSECCryptoSymmetricKey::SymmetricKeyType alg) const {
 
 	// Only temporary
 
@@ -300,7 +300,7 @@
 //           Get X509 class
 // --------------------------------------------------------------------------------
 
-XSECCryptoX509 * NSSCryptoProvider::X509() {
+XSECCryptoX509 * NSSCryptoProvider::X509() const {
 
 	NSSCryptoX509 * ret;
 
@@ -314,7 +314,7 @@
 //           Get Base64
 // --------------------------------------------------------------------------------
 
-XSECCryptoBase64 * NSSCryptoProvider::base64() {
+XSECCryptoBase64 * NSSCryptoProvider::base64() const {
 
 	// NSS does provide a Base64 decoder/encoder,
 	// but rather use the internal implementation.
@@ -384,7 +384,7 @@
 //           Check if hash algorithm is supported
 // --------------------------------------------------------------------------------
 
-bool NSSCryptoProvider::algorithmSupported(XSECCryptoHash::HashType alg) {
+bool NSSCryptoProvider::algorithmSupported(XSECCryptoHash::HashType alg) const {
 
 	switch (alg) {
 
@@ -414,7 +414,7 @@
 //           Check if cypher algorithm is supported
 // --------------------------------------------------------------------------------
 
-bool NSSCryptoProvider::algorithmSupported(XSECCryptoSymmetricKey::SymmetricKeyType alg) {
+bool NSSCryptoProvider::algorithmSupported(XSECCryptoSymmetricKey::SymmetricKeyType alg) const {
 
 	switch (alg) {
 
@@ -444,7 +444,7 @@
 //           Generate random data
 // --------------------------------------------------------------------------------
 
-unsigned int NSSCryptoProvider::getRandom(unsigned char * buffer, unsigned int numOctets) {
+unsigned int NSSCryptoProvider::getRandom(unsigned char * buffer, unsigned int numOctets) const {
 
   SECStatus s = PK11_GenerateRandom(buffer, numOctets);
 

Modified: xml/security/trunk/c/src/enc/NSS/NSSCryptoProvider.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/NSS/NSSCryptoProvider.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/NSS/NSSCryptoProvider.hpp (original)
+++ xml/security/trunk/c/src/enc/NSS/NSSCryptoProvider.hpp Wed Aug 15 11:51:47 2007
@@ -86,7 +86,7 @@
 	 * @see NSSCryptoHash
 	 */
 
-	virtual XSECCryptoHash * hashSHA1();
+	virtual XSECCryptoHash * hashSHA1() const;
 
   /**
 	 * \brief Return a SHA1 implementation.
@@ -98,7 +98,7 @@
 	 * @see NSSCryptoHash
 	 */
 
-	virtual XSECCryptoHash * hashSHA(int length = 160);
+	virtual XSECCryptoHash * hashSHA(int length = 160) const;
 
 	/**
 	 * \brief Return a HMAC SHA1 implementation.
@@ -111,7 +111,7 @@
 	 * @see NSSCryptoHash
 	 */
 
-	virtual XSECCryptoHash * hashHMACSHA1();
+	virtual XSECCryptoHash * hashHMACSHA1() const;
 
   /**
 	 * \brief Return a HMAC SHA1 implementation.
@@ -124,7 +124,7 @@
 	 * @see NSSCryptoHash
 	 */
 
-	virtual XSECCryptoHash * hashHMACSHA(int length = 160);
+	virtual XSECCryptoHash * hashHMACSHA(int length = 160) const;
 
 	/**
 	 * \brief Return a MD5 implementation.
@@ -136,7 +136,7 @@
 	 * @see NSSCryptoHash
 	 */
 
-	virtual XSECCryptoHash * hashMD5();
+	virtual XSECCryptoHash * hashMD5() const;
 
 	/**
 	 * \brief Return a HMAC MD5 implementation.
@@ -154,7 +154,7 @@
 	 * @see NSSCryptoHash
 	 */
 
-	virtual XSECCryptoHash * hashHMACMD5();
+	virtual XSECCryptoHash * hashHMACMD5() const;
 
   /**
 	 * \brief Return a HMAC key
@@ -166,7 +166,7 @@
 	 * a value set within it.
 	 */
 
-	virtual XSECCryptoKeyHMAC * keyHMAC(void);
+	virtual XSECCryptoKeyHMAC * keyHMAC(void) const;
 
   /**
 	 * \brief Determine whether a given algorithm is supported
@@ -175,7 +175,7 @@
 	 * digest algorithm is supported
 	 */
 
-	virtual bool algorithmSupported(XSECCryptoHash::HashType alg);
+	virtual bool algorithmSupported(XSECCryptoHash::HashType alg) const;
 
 	//@}
 
@@ -195,7 +195,7 @@
 	 * @see XSCryptCryptoBase64
 	 */
 
-	virtual XSECCryptoBase64 * base64();
+	virtual XSECCryptoBase64 * base64() const;
 
 	//@}
 
@@ -211,7 +211,7 @@
 	 * @see NSSCryptoKeyDSA
 	 */
 
-	virtual XSECCryptoKeyDSA * keyDSA();
+	virtual XSECCryptoKeyDSA * keyDSA() const;
 
 	/**
 	 * \brief Return an RSA key implementation object.
@@ -222,7 +222,7 @@
 	 * @see NSSCryptoKeyRSA
 	 */
 
-	virtual XSECCryptoKeyRSA * keyRSA();
+	virtual XSECCryptoKeyRSA * keyRSA() const;
 
 	/**
 	 * \brief Return an X509 implementation object.
@@ -234,7 +234,7 @@
 	 * @see NSSCryptoX509
 	 */
 
-	virtual XSECCryptoX509 * X509();
+	virtual XSECCryptoX509 * X509() const;
 
 	/**
 	 * \brief Determine whether a given algorithm is supported
@@ -243,7 +243,7 @@
 	 * symmetric algorithm is supported
 	 */
 
-	virtual bool algorithmSupported(XSECCryptoSymmetricKey::SymmetricKeyType alg);
+	virtual bool algorithmSupported(XSECCryptoSymmetricKey::SymmetricKeyType alg) const;
 
 	/**
 	 * \brief Return a Symmetric Key implementation object.
@@ -255,7 +255,7 @@
 	 * @see XSECCryptoSymmetricKey
 	 */
 
-	virtual XSECCryptoSymmetricKey * keySymmetric(XSECCryptoSymmetricKey::SymmetricKeyType alg);
+	virtual XSECCryptoSymmetricKey * keySymmetric(XSECCryptoSymmetricKey::SymmetricKeyType alg) const;
 
 	/**
 	 * \brief Obtain some random octets
@@ -269,7 +269,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;
 
   /**
 	 * \brief Translate B64 I2OS integer to a NSS SECItem.
@@ -306,7 +306,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/NSS/NSSCryptoSymmetricKey.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/NSS/NSSCryptoSymmetricKey.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/NSS/NSSCryptoSymmetricKey.cpp (original)
+++ xml/security/trunk/c/src/enc/NSS/NSSCryptoSymmetricKey.cpp Wed Aug 15 11:51:47 2007
@@ -68,7 +68,7 @@
 //           Get key type
 // --------------------------------------------------------------------------------
 
-XSECCryptoSymmetricKey::SymmetricKeyType NSSCryptoSymmetricKey::getSymmetricKeyType() {
+XSECCryptoSymmetricKey::SymmetricKeyType NSSCryptoSymmetricKey::getSymmetricKeyType() const {
 
 	return m_keyType;
 
@@ -78,7 +78,7 @@
 //           Get provider name
 // --------------------------------------------------------------------------------
 
-const XMLCh * NSSCryptoSymmetricKey::getProviderName() {
+const XMLCh * NSSCryptoSymmetricKey::getProviderName() const {
 
 	return DSIGConstants::s_unicodeStrPROVNSS;
 
@@ -88,7 +88,7 @@
 //           Replicate key
 // --------------------------------------------------------------------------------
 
-XSECCryptoKey * NSSCryptoSymmetricKey::clone() {
+XSECCryptoKey * NSSCryptoSymmetricKey::clone() const {
 
 	NSSCryptoSymmetricKey * ret;
 

Modified: xml/security/trunk/c/src/enc/NSS/NSSCryptoSymmetricKey.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/NSS/NSSCryptoSymmetricKey.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/NSS/NSSCryptoSymmetricKey.hpp (original)
+++ xml/security/trunk/c/src/enc/NSS/NSSCryptoSymmetricKey.hpp Wed Aug 15 11:51:47 2007
@@ -84,7 +84,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
@@ -94,7 +94,7 @@
 	 * duplicate keys.
 	 */
 
-	virtual XSECCryptoKey * clone();
+	virtual XSECCryptoKey * clone() const;
 
 	//@}
 
@@ -109,7 +109,7 @@
 	 * particular key
 	 */
 
-	SymmetricKeyType getSymmetricKeyType(void);
+	SymmetricKeyType getSymmetricKeyType(void) const;
 
 	/**
 	 * \brief Set the key from the provided bytes

Modified: xml/security/trunk/c/src/enc/NSS/NSSCryptoX509.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/NSS/NSSCryptoX509.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/NSS/NSSCryptoX509.cpp (original)
+++ xml/security/trunk/c/src/enc/NSS/NSSCryptoX509.cpp Wed Aug 15 11:51:47 2007
@@ -164,7 +164,7 @@
 //           Get NSS provider name
 // --------------------------------------------------------------------------------
 
-const XMLCh * NSSCryptoX509::getProviderName() {
+const XMLCh * NSSCryptoX509::getProviderName() const {
 
 	return DSIGConstants::s_unicodeStrPROVNSS;
 
@@ -174,7 +174,7 @@
 //           Get publickey type: RSA or DSA
 // --------------------------------------------------------------------------------
 
-XSECCryptoKey::KeyType NSSCryptoX509::getPublicKeyType() {
+XSECCryptoKey::KeyType NSSCryptoX509::getPublicKeyType() const {
 
   if (mp_cert == NULL) {
 
@@ -210,7 +210,7 @@
 //           Replicate public key
 // --------------------------------------------------------------------------------
 
-XSECCryptoKey * NSSCryptoX509::clonePublicKey() {
+XSECCryptoKey * NSSCryptoX509::clonePublicKey() const {
 
 	if (mp_cert == NULL) {
 

Modified: xml/security/trunk/c/src/enc/NSS/NSSCryptoX509.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/NSS/NSSCryptoX509.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/NSS/NSSCryptoX509.hpp (original)
+++ xml/security/trunk/c/src/enc/NSS/NSSCryptoX509.hpp Wed Aug 15 11:51:47 2007
@@ -82,7 +82,7 @@
 	 *
 	 */
 
-	virtual XSECCryptoKey::KeyType getPublicKeyType();
+	virtual XSECCryptoKey::KeyType getPublicKeyType() const;
 
 	/**
 	 * \brief Get a copy of the public key.
@@ -92,13 +92,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;
 
 	//@}
 
@@ -123,6 +123,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/OpenSSL/OpenSSLCryptoHash.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoHash.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoHash.cpp (original)
+++ xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoHash.cpp Wed Aug 15 11:51:47 2007
@@ -150,7 +150,7 @@
 
 // Get information
 
-XSECCryptoHash::HashType OpenSSLCryptoHash::getHashType(void) {
+XSECCryptoHash::HashType OpenSSLCryptoHash::getHashType(void) const {
 
 	return m_hashType;			// This could be any kind of hash
 

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

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

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

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

Modified: xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyDSA.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyDSA.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyDSA.hpp (original)
+++ xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyDSA.hpp Wed Aug 15 11:51:47 2007
@@ -74,19 +74,19 @@
 	 * public key, private key or a key pair
 	 */
 
-	virtual XSECCryptoKey::KeyType getKeyType();
+	virtual XSECCryptoKey::KeyType getKeyType() const;
 
 	/**
 	 *\brief Return the OpenSSL string identifier
 	 */
 
-	virtual const XMLCh * getProviderName() {return DSIGConstants::s_unicodeStrPROVOpenSSL;}
+	virtual const XMLCh * getProviderName() const {return DSIGConstants::s_unicodeStrPROVOpenSSL;}
 
 	/**
 	 * \brief Replicate key
 	 */
 
-	virtual XSECCryptoKey * clone();
+	virtual XSECCryptoKey * clone() const;
 
 	//@}
 
@@ -204,6 +204,12 @@
 	 */
 
 	DSA * getOpenSSLDSA(void) {return mp_dsaKey;}
+
+    /**
+	 * \brief Get OpenSSL DSA structure
+	 */
+
+	const DSA * getOpenSSLDSA(void) const {return mp_dsaKey;}
 
 	//@}
 	//@}

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

Modified: xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyHMAC.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyHMAC.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyHMAC.hpp (original)
+++ xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyHMAC.hpp Wed Aug 15 11:51:47 2007
@@ -64,19 +64,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 OpenSSL string identifier
 	 */
 
-	virtual const XMLCh * getProviderName() {return DSIGConstants::s_unicodeStrPROVOpenSSL;}
+	virtual const XMLCh * getProviderName() const {return DSIGConstants::s_unicodeStrPROVOpenSSL;}
 	
 	//@}
 
@@ -115,7 +115,7 @@
 	 * @returns number of bytes copied in
 	 */
 
-	virtual unsigned int getKey(safeBuffer &outBuf);
+	virtual unsigned int getKey(safeBuffer &outBuf) const;
 
 	//@}
 

Modified: xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyRSA.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyRSA.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyRSA.cpp (original)
+++ xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyRSA.cpp Wed Aug 15 11:51:47 2007
@@ -80,13 +80,13 @@
 
 }
 
-unsigned int OpenSSLCryptoKeyRSA::getOAEPparamsLen(void) {
+unsigned int OpenSSLCryptoKeyRSA::getOAEPparamsLen(void) const {
 
 	return m_oaepParamsLen;
 
 }
 
-const unsigned char * OpenSSLCryptoKeyRSA::getOAEPparams(void) {
+const unsigned char * OpenSSLCryptoKeyRSA::getOAEPparams(void) const {
 
 	return mp_oaepParams;
 
@@ -94,7 +94,7 @@
 
 // Generic key functions
 
-XSECCryptoKey::KeyType OpenSSLCryptoKeyRSA::getKeyType() {
+XSECCryptoKey::KeyType OpenSSLCryptoKeyRSA::getKeyType() const {
 
 	// Find out what we have
 	if (mp_rsaKey == NULL)
@@ -619,7 +619,7 @@
 //           Size in bytes
 // --------------------------------------------------------------------------------
 
-unsigned int OpenSSLCryptoKeyRSA::getLength(void) {
+unsigned int OpenSSLCryptoKeyRSA::getLength(void) const {
 
 	if (mp_rsaKey != NULL)
 		return RSA_size(mp_rsaKey);
@@ -632,7 +632,7 @@
 //           Clone this key
 // --------------------------------------------------------------------------------
 
-XSECCryptoKey * OpenSSLCryptoKeyRSA::clone() {
+XSECCryptoKey * OpenSSLCryptoKeyRSA::clone() const {
 
 	OpenSSLCryptoKeyRSA * ret;
 

Modified: xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyRSA.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyRSA.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyRSA.hpp (original)
+++ xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoKeyRSA.hpp Wed Aug 15 11:51:47 2007
@@ -65,19 +65,19 @@
 	 * public key, private key or a key pair
 	 */
 
-	virtual XSECCryptoKey::KeyType getKeyType();
+	virtual XSECCryptoKey::KeyType getKeyType() const;
 
 	/**
 	 * \brief Return the OpenSSL identifier string
 	 */
 
-	virtual const XMLCh * getProviderName() {return DSIGConstants::s_unicodeStrPROVOpenSSL;}
+	virtual const XMLCh * getProviderName() const {return DSIGConstants::s_unicodeStrPROVOpenSSL;}
 
 	/**
 	 * \brief Replicate key
 	 */
 
-	virtual XSECCryptoKey * clone();
+	virtual XSECCryptoKey * clone() const;
 
 	//@}
 
@@ -108,7 +108,7 @@
 	 * @returns the number of bytes of the OAEPparams buffer (assuming it has been set)
 	 */
 
-	virtual unsigned int getOAEPparamsLen(void);
+	virtual unsigned int getOAEPparamsLen(void) const;
 
 	/**
 	 * \brief Get the OAEPparams
@@ -117,7 +117,7 @@
 	 * or NULL if no params are held
 	 */
 
-	virtual const unsigned char * getOAEPparams(void);
+	virtual const unsigned char * getOAEPparams(void) const;
 
 	/**
 	 * \brief Verify a SHA1 PKCS1 encoded signature
@@ -214,7 +214,7 @@
 	 * @returns The length of the rsa key (in bytes)
 	 */
 
-	virtual unsigned int getLength(void);
+	virtual unsigned int getLength(void) const;
 
 	//@}
 
@@ -268,6 +268,12 @@
 	 */
 
 	RSA * getOpenSSLRSA(void) {return mp_rsaKey;}
+
+    /**
+	 * \brief Get OpenSSL RSA Object
+	 */
+
+	const RSA * getOpenSSLRSA(void) const {return mp_rsaKey;}
 
 	//@}
 

Modified: xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoProvider.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoProvider.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoProvider.cpp (original)
+++ xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoProvider.cpp Wed Aug 15 11:51:47 2007
@@ -71,14 +71,14 @@
 }
 
 
-const XMLCh * OpenSSLCryptoProvider::getProviderName() {
+const XMLCh * OpenSSLCryptoProvider::getProviderName() const {
 
 	return DSIGConstants::s_unicodeStrPROVOpenSSL;
 
 }
 	// Hashing classes
 
-XSECCryptoHash	* OpenSSLCryptoProvider::hashSHA1() {
+XSECCryptoHash	* OpenSSLCryptoProvider::hashSHA1() const {
 
 	OpenSSLCryptoHash * ret;
 
@@ -88,7 +88,7 @@
 
 }
 
-XSECCryptoHash * OpenSSLCryptoProvider::hashHMACSHA1() {
+XSECCryptoHash * OpenSSLCryptoProvider::hashHMACSHA1() const {
 
 	OpenSSLCryptoHashHMAC * ret;
 
@@ -98,7 +98,7 @@
 
 }
 
-XSECCryptoHash	* OpenSSLCryptoProvider::hashSHA(int length) {
+XSECCryptoHash	* OpenSSLCryptoProvider::hashSHA(int length) const {
 
 
 	OpenSSLCryptoHash * ret;
@@ -123,7 +123,7 @@
 
 }
 
-XSECCryptoHash * OpenSSLCryptoProvider::hashHMACSHA(int length) {
+XSECCryptoHash * OpenSSLCryptoProvider::hashHMACSHA(int length) const {
 
 	OpenSSLCryptoHashHMAC * ret;
 
@@ -147,7 +147,7 @@
 
 }
 
-XSECCryptoHash	* OpenSSLCryptoProvider::hashMD5() {
+XSECCryptoHash	* OpenSSLCryptoProvider::hashMD5() const {
 
 	OpenSSLCryptoHash * ret;
 
@@ -157,7 +157,7 @@
 
 }
 
-XSECCryptoHash * OpenSSLCryptoProvider::hashHMACMD5() {
+XSECCryptoHash * OpenSSLCryptoProvider::hashHMACMD5() const {
 
 	OpenSSLCryptoHashHMAC * ret;
 
@@ -167,7 +167,7 @@
 
 }
 
-XSECCryptoKeyHMAC * OpenSSLCryptoProvider::keyHMAC(void) {
+XSECCryptoKeyHMAC * OpenSSLCryptoProvider::keyHMAC(void) const {
 
 	OpenSSLCryptoKeyHMAC * ret;
 	XSECnew(ret, OpenSSLCryptoKeyHMAC);
@@ -176,7 +176,7 @@
 
 }
 
-XSECCryptoKeyDSA * OpenSSLCryptoProvider::keyDSA() {
+XSECCryptoKeyDSA * OpenSSLCryptoProvider::keyDSA() const {
 	
 	OpenSSLCryptoKeyDSA * ret;
 
@@ -186,7 +186,7 @@
 
 }
 
-XSECCryptoKeyRSA * OpenSSLCryptoProvider::keyRSA() {
+XSECCryptoKeyRSA * OpenSSLCryptoProvider::keyRSA() const {
 	
 	OpenSSLCryptoKeyRSA * ret;
 
@@ -197,7 +197,7 @@
 }
 
 
-XSECCryptoX509 * OpenSSLCryptoProvider::X509() {
+XSECCryptoX509 * OpenSSLCryptoProvider::X509() const {
 
 	OpenSSLCryptoX509 * ret;
 
@@ -207,7 +207,7 @@
 
 }
 
-XSECCryptoBase64 * OpenSSLCryptoProvider::base64() {
+XSECCryptoBase64 * OpenSSLCryptoProvider::base64() const {
 
 #if 0
 	OpenSSLCryptoBase64 * ret;
@@ -222,7 +222,7 @@
 
 }
 
-bool OpenSSLCryptoProvider::algorithmSupported(XSECCryptoSymmetricKey::SymmetricKeyType alg) {
+bool OpenSSLCryptoProvider::algorithmSupported(XSECCryptoSymmetricKey::SymmetricKeyType alg) const {
 
 	switch (alg) {
 
@@ -247,7 +247,7 @@
 
 }
 
-bool OpenSSLCryptoProvider::algorithmSupported(XSECCryptoHash::HashType alg)  {
+bool OpenSSLCryptoProvider::algorithmSupported(XSECCryptoHash::HashType alg) const {
 
 	switch (alg) {
 
@@ -277,7 +277,7 @@
 }
 
 
-XSECCryptoSymmetricKey	* OpenSSLCryptoProvider::keySymmetric(XSECCryptoSymmetricKey::SymmetricKeyType alg) {
+XSECCryptoSymmetricKey	* OpenSSLCryptoProvider::keySymmetric(XSECCryptoSymmetricKey::SymmetricKeyType alg) const {
 
 	OpenSSLCryptoSymmetricKey * ret;
 
@@ -287,7 +287,7 @@
 
 }
 
-unsigned int OpenSSLCryptoProvider::getRandom(unsigned char * buffer, unsigned int numOctets) {
+unsigned int OpenSSLCryptoProvider::getRandom(unsigned char * buffer, unsigned int numOctets) const {
 
 	if (RAND_status() != 1) {
 

Modified: xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoProvider.hpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoProvider.hpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoProvider.hpp (original)
+++ xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoProvider.hpp Wed Aug 15 11:51:47 2007
@@ -73,7 +73,7 @@
 	 * @see XSECCryptoHash
 	 */
 
-	virtual XSECCryptoHash			* hashSHA1();
+	virtual XSECCryptoHash			* hashSHA1() const;
 
 	/**
 	 * \brief Return a SHA implementation.
@@ -86,7 +86,7 @@
 	 * @see OpenSSLCryptoHash
 	 */
 	 
-	virtual XSECCryptoHash			* hashSHA(int length = 160);
+	virtual XSECCryptoHash			* hashSHA(int length = 160) const;
 
 	/**
 	 * \brief Return a HMAC SHA1 implementation.
@@ -99,7 +99,7 @@
 	 * @see OpenSSLCryptoHash
 	 */
 
-	virtual XSECCryptoHash			* hashHMACSHA1();
+	virtual XSECCryptoHash			* hashHMACSHA1() const;
 
 	/**
 	 * \brief Return a HMAC SHA(1-512) implementation.
@@ -113,7 +113,7 @@
 	 * @see OpenSSLCryptoHash
 	 */
 
-	virtual XSECCryptoHash			* hashHMACSHA(int length = 160);
+	virtual XSECCryptoHash			* hashHMACSHA(int length = 160) const;
 	
 	/**
 	 * \brief Return a MD5 implementation.
@@ -125,7 +125,7 @@
 	 * @see OpenSSLCryptoHash
 	 */
 	 
-	virtual XSECCryptoHash			* hashMD5();
+	virtual XSECCryptoHash			* hashMD5() const;
 
 	/**
 	 * \brief Return a HMAC MD5 implementation.
@@ -143,7 +143,7 @@
 	 * @see OpenSSLCryptoHash
 	 */
 
-	virtual XSECCryptoHash			* hashHMACMD5();
+	virtual XSECCryptoHash			* hashHMACMD5() const;
 
 	/**
 	 * \brief Return a HMAC key
@@ -155,7 +155,7 @@
 	 * a value set within it.
 	 */
 
-	virtual XSECCryptoKeyHMAC		* keyHMAC(void);
+	virtual XSECCryptoKeyHMAC		* keyHMAC(void) const;
 
 	//@}
 
@@ -172,7 +172,7 @@
 	 * @see OpenSSLCryptoBase64
 	 */
 
-	virtual XSECCryptoBase64		* base64();
+	virtual XSECCryptoBase64		* base64() const;
 
 	//@}
 
@@ -188,7 +188,7 @@
 	 * @see OpenSSLCryptoKeyDSA
 	 */
 
-	virtual XSECCryptoKeyDSA		* keyDSA();
+	virtual XSECCryptoKeyDSA		* keyDSA() const;
 
 	/**
 	 * \brief Return an RSA key implementation object.
@@ -199,7 +199,7 @@
 	 * @see OpenSSLCryptoKeyRSA
 	 */
 
-	virtual XSECCryptoKeyRSA		* keyRSA();
+	virtual XSECCryptoKeyRSA		* keyRSA() const;
 
 	/**
 	 * \brief Return an X509 implementation object.
@@ -211,7 +211,7 @@
 	 * @see OpenSSLCryptoX509
 	 */
 
-	virtual XSECCryptoX509			* X509();
+	virtual XSECCryptoX509			* X509() const;
 
 	/**
 	 * \brief Determine whether a given algorithm is supported
@@ -220,7 +220,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
@@ -229,7 +229,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.
@@ -241,7 +241,7 @@
 	 * @see XSECCryptoSymmetricKey
 	 */
 
-	virtual XSECCryptoSymmetricKey	* keySymmetric(XSECCryptoSymmetricKey::SymmetricKeyType alg);
+	virtual XSECCryptoSymmetricKey	* keySymmetric(XSECCryptoSymmetricKey::SymmetricKeyType alg) const;
 
 	/**
 	 * \brief Obtain some random octets
@@ -255,7 +255,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;
 
 
 	//@}
@@ -267,7 +267,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/OpenSSL/OpenSSLCryptoSymmetricKey.cpp
URL: http://svn.apache.org/viewvc/xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoSymmetricKey.cpp?view=diff&rev=566299&r1=566298&r2=566299
==============================================================================
--- xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoSymmetricKey.cpp (original)
+++ xml/security/trunk/c/src/enc/OpenSSL/OpenSSLCryptoSymmetricKey.cpp Wed Aug 15 11:51:47 2007
@@ -68,19 +68,19 @@
 //           Basic Key interface methods
 // --------------------------------------------------------------------------------
 
-XSECCryptoSymmetricKey::SymmetricKeyType OpenSSLCryptoSymmetricKey::getSymmetricKeyType() {
+XSECCryptoSymmetricKey::SymmetricKeyType OpenSSLCryptoSymmetricKey::getSymmetricKeyType() const {
 
 	return m_keyType;
 
 }
 
-const XMLCh * OpenSSLCryptoSymmetricKey::getProviderName() {
+const XMLCh * OpenSSLCryptoSymmetricKey::getProviderName() const {
 
 	return DSIGConstants::s_unicodeStrPROVOpenSSL;
 
 }
 
-XSECCryptoKey * OpenSSLCryptoSymmetricKey::clone() {
+XSECCryptoKey * OpenSSLCryptoSymmetricKey::clone() const {
 
 	OpenSSLCryptoSymmetricKey * ret;