--- libxmlsec/xmlsec1-1.2.6.patch.orig	2007-11-22 15:19:54.000000000 +0100
+++ libxmlsec/xmlsec1-1.2.6.patch	2007-11-22 15:19:29.000000000 +0100
@@ -17394,4 +17394,26 @@
 ! XMLSEC_NSS_SOLIBS   	= smime3.lib nss3.lib nspr4.lib kernel32.lib user32.lib gdi32.lib
   XMLSEC_NSS_ALIBS    	= smime3.lib ssl3.lib nss3.lib libnspr4_s.lib libplds4_s.lib libplc4_s.lib kernel32.lib user32.lib gdi32.lib
   
   XMLSEC_MSCRYPTO_SOLIBS  = kernel32.lib user32.lib gdi32.lib Crypt32.lib Advapi32.lib
+*** misc/xmlsec1-1.2.6/src/nss/x509.c	2007-03-16 12:51:38.000000000 -0400
+--- misc/build/xmlsec1-1.2.6/src/nss/x509.c	2007-03-19 11:23:22.000000000 -0400
+*************** xmlSecNssKeyDataX509VerifyAndExtractKey(
+*** 1365,1373 ****
+  		/*-
+  		 * I'll search key according to KeyReq.
+  		 */
+-         slot = cert->slot ;
+          if( ( keyInfoCtx->keyReq.keyType & xmlSecKeyDataTypePrivate ) == xmlSecKeyDataTypePrivate ) {
+!             if( ( priKey = PK11_FindPrivateKeyFromCert( slot , cert , NULL ) ) == NULL ) {
+                  xmlSecError( XMLSEC_ERRORS_HERE ,
+                      xmlSecErrorsSafeString( xmlSecKeyDataGetName( data ) ) ,
+                      "PK11_FindPrivateKeyFromCert" ,
+--- 1365,1372 ----
+  		/*-
+  		 * I'll search key according to KeyReq.
+  		 */
+          if( ( keyInfoCtx->keyReq.keyType & xmlSecKeyDataTypePrivate ) == xmlSecKeyDataTypePrivate ) {
+!             if( ( priKey = PK11_FindKeyByAnyCert( cert , NULL ) ) == NULL ) {
+                  xmlSecError( XMLSEC_ERRORS_HERE ,
+                      xmlSecErrorsSafeString( xmlSecKeyDataGetName( data ) ) ,
+                      "PK11_FindPrivateKeyFromCert" ,
