(Type your message here)
Maybe you have a thought on my : Unknown tranform has been encountered Problem???
I?m using WSE 1.0p1/.NET 1.1, and signing and verifying xml documents not SOAP. So I?m using WSE?s SignedXml and getting this exception.
My guess: machine.config doesn?t have the transform implementation class found for all the namespaces in the <signature>. BTW, I?m on XPsp1 and our IT department creates the XP image. There might be something they strip out of XP?? I did check what CSC?s are install and the MS_ENANCED_PROV seem to be installed. But I wouldn?t know if any are missing.
Although I can sign a doc, I can?t validate the same doc??
I started guessing at the transform namespace to impl classes in my machine.config (end of email).
Any thoughts??
Thanks Curt
Exception Details: System.Security.Cryptography.CryptographicException: Unknown tranform has been encountered.
Source Error:
Line 193:
Line 194: XmlNodeList nodeList = signedDoc.GetElementsByTagName("Signature", SignedXml.XmlDsigNamespaceUrl);
Line 195: sx.LoadXml((XmlElement)nodeList[0]);
Line 196:
Line 197: bool isValid = sx.CheckSignature(key);
Source File: c:\inetpub\wwwroot\browserpost\samlutils.cs Line: 195
Stack Trace:
[CryptographicException: Unknown tranform has been encountered.]
Microsoft.Web.Services.Security.Reference.LoadXml(XmlElement value)
Microsoft.Web.Services.Security.SignedInfo.LoadXml(XmlElement value)
Microsoft.Web.Services.Security.SignedXmlSignature.LoadXml(XmlElement value)
Microsoft.Web.Services.Security.SignedXml.LoadXml(XmlElement value)
BrowserPost.SAMLUtils.ValidateDocument(XmlDocument signedDoc, String keyName) in c:\inetpub\wwwroot\browserpost\samlutils.cs:195
BrowserPost.TestScenarios.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\browserpost\testscenarios.aspx.cs:84
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +720
<mscorlib>
<cryptographySettings>
<cryptoNameMapping>
<cryptoClasses>
<cryptoClass exc14n="Microsoft.Web.Services.Security.XmlDsigExcC14NTransform, Microsoft.Web.Services.Security" />
<cryptoClass c14n="System.Security.Cryptography.Xml.XmlDsigC14NTransform, System.Security.Cryptography.Xml" />
<cryptoClass exc14n.comments="Microsoft.Web.Services.Security.XmlDsigExcC14NWithCommentsTransform, Microsoft.Web.Services.Security" />
<cryptoClass envsigTran="System.Security.Cryptography.Xml.XmlDsigEnvelopedSignatureTransform,System.Security.Cryptography.Xml" />
<cryptoClass digmeth="System.Security.Cryptography.SHA1CryptoServiceProvider,System.Security.Cryptography" />
<!--
<cryptoClass sigTran="not done System.Security.Cryptography.Xml.XmlDsigEnvelopedSignatureTransform,System.Security.Cryptography.Xml" />
-->
</cryptoClasses>
<nameEntry name="http://www.w3.org/2001/10/xml-exc-c14n#" class="exc14n" />
<nameEntry name="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" class="c14n" />
<nameEntry name="http://www.w3.org/2001/10/xml-exc-c14n#WithComments" class="exc14n.comments" />
<nameEntry name="http://www.w3.org/2000/09/xmldsig#enveloped-signature" class="envsigTran" />
<nameEntry name="http://www.w3.org/2000/09/xmldsig#sha1" class="digmeth" />
<!--
<nameEntry name="http://www.w3.org/2000/09/xmldsig#rsa-sha1" class="sigTran" />
-->
</cryptoNameMapping>
</cryptographySettings>
</mscorlib>
Hervey Wilson [MSFT] - 22 Sep 2004 18:45 GMT
Correct, unknown transform means that the URI specified in the
<ds:Transform> element was not recognized by the product. If you are using a
specialized transform, it must be registered in machine.config in the
<mscorlib> section. If you're using inclusive C14N, then there may blocks in
WSE to prevent this transform since it is not generally considered safe as
there are possible attacks if the signed part of the XML is moved to a
different XML context.

Signature
This posting is provided "AS IS", with no warranties, and confers no rights.
(Type your message here)
Maybe you have a thought on my : Unknown tranform has been encountered
Problem???
I?m using WSE 1.0p1/.NET 1.1, and signing and verifying xml documents not
SOAP. So I?m using WSE?s SignedXml and getting this exception.
My guess: machine.config doesn?t have the transform implementation class
found for all the namespaces in the <signature>. BTW, I?m on XPsp1 and our
IT department creates the XP image. There might be something they strip out
of XP?? I did check what CSC?s are install and the MS_ENANCED_PROV seem to
be installed. But I wouldn?t know if any are missing.
Although I can sign a doc, I can?t validate the same doc??
I started guessing at the transform namespace to impl classes in my
machine.config (end of email).
Any thoughts??
Thanks Curt
Exception Details: System.Security.Cryptography.CryptographicException:
Unknown tranform has been encountered.
Source Error:
Line 193:
Line 194: XmlNodeList nodeList =
signedDoc.GetElementsByTagName("Signature", SignedXml.XmlDsigNamespaceUrl);
Line 195: sx.LoadXml((XmlElement)nodeList[0]);
Line 196:
Line 197: bool isValid = sx.CheckSignature(key);
Source File: c:\inetpub\wwwroot\browserpost\samlutils.cs Line: 195
Stack Trace:
[CryptographicException: Unknown tranform has been encountered.]
Microsoft.Web.Services.Security.Reference.LoadXml(XmlElement value)
Microsoft.Web.Services.Security.SignedInfo.LoadXml(XmlElement value)
Microsoft.Web.Services.Security.SignedXmlSignature.LoadXml(XmlElement
value)
Microsoft.Web.Services.Security.SignedXml.LoadXml(XmlElement value)
BrowserPost.SAMLUtils.ValidateDocument(XmlDocument signedDoc, String
keyName) in c:\inetpub\wwwroot\browserpost\samlutils.cs:195
BrowserPost.TestScenarios.Page_Load(Object sender, EventArgs e) in
c:\inetpub\wwwroot\browserpost\testscenarios.aspx.cs:84
System.Web.UI.Control.OnLoad(EventArgs e) +67
System.Web.UI.Control.LoadRecursive() +35
System.Web.UI.Page.ProcessRequestMain() +720
<mscorlib>
<cryptographySettings>
<cryptoNameMapping>
<cryptoClasses>
<cryptoClass
exc14n="Microsoft.Web.Services.Security.XmlDsigExcC14NTransform,
Microsoft.Web.Services.Security" />
<cryptoClass
c14n="System.Security.Cryptography.Xml.XmlDsigC14NTransform,
System.Security.Cryptography.Xml" />
<cryptoClass
exc14n.comments="Microsoft.Web.Services.Security.XmlDsigExcC14NWithCommentsT
ransform, Microsoft.Web.Services.Security" />
<cryptoClass
envsigTran="System.Security.Cryptography.Xml.XmlDsigEnvelopedSignatureTransf
orm,System.Security.Cryptography.Xml" />
<cryptoClass
digmeth="System.Security.Cryptography.SHA1CryptoServiceProvider,System.Secur
ity.Cryptography" />
<!--
<cryptoClass sigTran="not done
System.Security.Cryptography.Xml.XmlDsigEnvelopedSignatureTransform,System.S
ecurity.Cryptography.Xml" />
-->
</cryptoClasses>
<nameEntry name="http://www.w3.org/2001/10/xml-exc-c14n#"
class="exc14n" />
<nameEntry name="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"
class="c14n" />
<nameEntry
name="http://www.w3.org/2001/10/xml-exc-c14n#WithComments"
class="exc14n.comments" />
<nameEntry
name="http://www.w3.org/2000/09/xmldsig#enveloped-signature"
class="envsigTran" />
<nameEntry name="http://www.w3.org/2000/09/xmldsig#sha1"
class="digmeth" />
<!--
<nameEntry name="http://www.w3.org/2000/09/xmldsig#rsa-sha1"
class="sigTran" />
-->
</cryptoNameMapping>
</cryptographySettings>
</mscorlib>