Cool - best way to test it if you have something that can be checked with checksig.
If you use "-x" to checksig, it will activate the XSECURIResolver. That should do you. It's not that much different to the default, but it understands 301/302 returns.
Your 2 lines of code below should also do the trick.
As an aside - the anonymous resolver is an application specific resolver that returns a byte sequence for the case where no URI is specified - which is legal, you need to tell the library what it is validating. The interop resolver is a Key resolver (not URI resolver) that is used to return the key values when going over the interop vectors.
Cheers,
BerinMilan Tomic wrote:
Thank you, Berin, for your help.
You can call DSIGSignature::setURIResolver() to set a new URI Resolver. There are two classes, XSECURIResolverGenericWin32 and XSECURIResolverGenericUnix, which are re-implementations of the Xerces resolvers that handle 301/302 codes. You can pass the appropriate one into setURIResolver and you should be right.
I don't understand this part very well. Is this enough, or I have to do something else:
XSECURIResolverGenericWin32 theResolver; sig->setURIResolver(&theResolver);
I'm still using XSec 1.0, and I'm looking in checksig.cpp code that starts with:
if (useXSECURIResolver == true || useAnonymousResolver == true ||
useInteropResolver == true) {
Do I need to set to true all of these flags? Or which one? Do I need this peace of code? (It was disabled by default)
Thank you, Milan
