System.Security.Cryptography.Xml This exception helps catch the signed XML recursion limit error. This is being caught in the SignedXml class while computing the hash. ComputeHash can throw different kind of exceptions. This unique exception helps catch the recursion limit issue. Create an XML representation. Based upon https://www.w3.org/TR/xmldsig-core/#sec-DSAKeyValue. An containing the XML representation. Deserialize from the XML representation. Based upon https://www.w3.org/TR/xmldsig-core/#sec-DSAKeyValue. An containing the XML representation. This cannot be null. cannot be null. The XML has the incorrect schema or the DSA parameters are invalid. This method validates the _xmlDsigSearchDepthCounter counter if the counter is over the limit defined by admin or developer. returns true if the limit has reached otherwise false Gets / Sets the max limit for recursive search of encryption key in signed XML Create an XML representation. Based upon https://www.w3.org/TR/xmldsig-core/#sec-RSAKeyValue. An containing the XML representation. Deserialize from the XML representation. Based upon https://www.w3.org/TR/xmldsig-core/#sec-RSAKeyValue. An containing the XML representation. This cannot be null. cannot be null. The XML has the incorrect schema or the RSA parameters are invalid. Trace support for debugging issues signing and verifying XML signatures. Types of events that are logged to the debug log Canonicalization of input XML has begun Verification of the signature format itself is beginning Verification of a signed info is beginning Signing is beginning Signature verification is beginning Input data has been transformed to its canonicalized form The result of signature format validation Namespaces are being propigated into the signature Output from a Reference The result of a signature verification Calculating the final signature A reference is being hashed A signature has failed to verify Verify that a reference has the correct hash value Verification is processing the SignedInfo section of the signature Verification status on the x.509 certificate in use The signature is being rejected by the signature format verifier due to having a canonicalization algorithm which is not on the known valid list. The signature is being rejected by the signature verifier due to having a transform algorithm which is not on the known valid list. Check to see if logging should be done in this process Check to see if verbose log messages should be generated Convert the byte array into a hex string Map a key to a string describing the key Map an object to a string describing the object Map an OID to the friendliest name possible Log that canonicalization has begun on input data SignedXml object doing the signing or verification transform canonicalizing the input Log that we're going to be validating the signature format itself SignedXml object doing the verification Callback delegate which is being used for format verification Log that checking SignedInfo is beginning SignedXml object doing the verification SignedInfo object being verified Log that signature computation is beginning SignedXml object doing the signing Context of the signature Log that signature verification is beginning SignedXml object doing the verification Context of the verification Log the canonicalized data SignedXml object doing the signing or verification transform canonicalizing the input Log that the signature format callback has rejected the signature SignedXml object doing the signature verification result of the signature format verification Log that a signature is being rejected as having an invalid format due to its canonicalization algorithm not being on the valid list. SignedXml object doing the signature verification Canonicalization algorithm List of valid canonicalization algorithms Log that a signature is being rejected as having an invalid signature due to a transform algorithm not being on the valid list. SignedXml object doing the signature verification Transform algorithm that was not allowed The valid C14N algorithms The valid C14N algorithms Log namespaces which are being propagated into the signature SignedXml doing the signing or verification namespaces being propagated Log the output of a reference The reference being processed Stream containing the output of the reference Stream containing the output of the reference Log the computation of a signature value when signing with an asymmetric algorithm SignedXml object calculating the signature key used for signing signature description being used to create the signature hash algorithm used to digest the output signature formatter used to do the signing Log the computation of a signature value when signing with a keyed hash algorithm SignedXml object calculating the signature key the signature is created with Log the calculation of a hash value of a reference SignedXml object driving the signature Reference being hashed Log the specific point where a signature is determined to not be verifiable SignedXml object doing the verification location that the signature was determined to be invalid Log the success or failure of a signature verification operation SignedXml object doing the verification public key used to verify the signature true if the signature verified, false otherwise Log the check for appropriate X509 key usage SignedXml doing the signature verification certificate having its key usages checked key usages being examined Log that we are verifying a reference SignedXMl object doing the verification reference being verified Log the hash comparison when verifying a reference SignedXml object verifying the signature reference being verified actual hash value of the reference hash value the signature expected the reference to have Log the verification parameters when verifying the SignedInfo section of a signature using an asymmetric key SignedXml object doing the verification key being used to verify the signed info type of signature description class used type of hash algorithm used type of signature deformatter used hash value of the signed info raw signature value Log the verification parameters when verifying the SignedInfo section of a signature using a keyed hash algorithm SignedXml object doing the verification hash algorithm doing the verification hash value of the signed info raw signature value Log that an X509 chain is being built for a certificate SignedXml object building the chain chain built for the certificate certificate having the chain built for it Write information when user hits the Signed XML recursion depth limit issue. This is helpful in debugging this kind of issues. SignedXml object verifying the signature reference being verified Write data to the log object doing the trace severity of the debug event data being written type of event being traced Map from an ASCII char to its hex value, e.g. arr['b'] == 11. 0xFF means it's not a hex digit. Index was out of range. Must be non-negative and less than the size of the collection. String cannot be empty or null. A certificate chain could not be built to a trusted root authority. Bad wrapped key size. A Cipher Data element should have either a CipherValue or a CipherReference element. Could not create hash algorithm object. Could not create the XML transformation identified by the URI {0}. Failed to create signing key. A DigestMethod must be specified on a Reference prior to generating XML. A Reference must contain a DigestValue. An XmlDocument context is required for enveloped transforms. Malformed element {0}. Malformed encryption property element. The key size should be a non negative integer. Malformed reference element. The length of the signature with a MAC should be less than the hash output length. The length in bits of the signature with a MAC should be a multiple of 8. X509 issuer serial number is invalid. A KeyInfo element is required to check the signature. The length of the encrypted data in Key Wrap is either 32, 40 or 48 bytes. Signing key is not loaded. Symmetric algorithm is not specified. Cipher data is not specified. Unable to retrieve the decryption key. Unable to retrieve the encryption key. The specified cryptographic transform is not supported. At least one Reference element is required. The Reference type must be set in an EncryptedReference object. An XmlDocument context is required to resolve the Reference Uri {0}. SignatureDescription could not be created for the signature algorithm supplied. The key does not fit the SignatureMethod. A signature method is required. Signature requires a SignatureValue. Signature requires a SignedInfo. The input type was invalid for this transform. Type of input object is invalid. Unknown transform has been encountered. Unable to resolve Uri {0}. The specified Uri is not supported. A Uri attribute is required for a CipherReference element. Null Context property encountered. IRelDecryptor is required. Issuer node is required. License node is required. Unable to decrypt grant content. The certificate key algorithm is not supported. Actual hash value: {0} Beginning canonicalization using "{0}" ({1}). Beginning signature computation. Beginning signature verification. Building and verifying the X509 chain for certificate {0}. Canonicalization transform is using resolver {0} and base URI "{1}". Output of canonicalization transform: {0} Certificate chain: Checking signature format using format validator "[{0}] {1}.{2}". Checking signature on SignedInfo with id "{0}". Signature format validation was successful. Signature format validation failed. Found key usages "{0}" in extension {1} on certificate {2}. No namespaces are being propagated. Propagating namespace {0}="{1}". Raw signature: {0} Reference {0} hashed with "{1}" ({2}) has hash value {3}, expected hash value {4}. Revocation mode for chain building: {0}. Revocation flag for chain building: {0}. Calculating signature with key {0} using signature description {1}, hash algorithm {2}, and asymmetric signature formatter {3}. Calculating signature using keyed hash algorithm {0}. Hashing reference {0}, Uri "{1}", Id "{2}", Type "{3}" with hash algorithm "{4}" ({5}). Transformed reference contents: {0} Canonicalization method "{0}" is not on the safe list. Safe canonicalization methods are: {1}. URL retrieval timeout for chain building: {0}. Verification failed checking {0}. references SignedInfo X509 chain verification X509 key usage verification Verification flags for chain building: {0}. Verification time for chain building: {0}. Verification with key {0} was successful. Verification with key {0} was not successful. Processing reference {0}, Uri "{1}", Id "{2}", Type "{3}". Verifying SignedInfo using key {0}, signature description {1}, hash algorithm {2}, and asymmetric signature deformatter {3}. Verifying SignedInfo using keyed hash algorithm {0}. Error building X509 chain: {0}: {1}. Using context: {0} Signed xml recursion limit hit while trying to decrypt the key. Reference {0} hashed with "{1}" and ({2}). Transform method "{0}" is not on the safe list. Safe transform methods are: {1}. {0} and {1} can only occur in combination {0} is missing {0} must contain child element {1} Root element must be {0} element in namespace {1} Base type for all platform-specific API attributes. Records the platform that the project targeted. Records the operating system (and minimum version) that supports an API. Multiple attributes can be applied to indicate support on multiple operating systems. Callers can apply a or use guards to prevent calls to APIs on unsupported operating systems. A given platform should only be specified once. Marks APIs that were removed in a given operating system version. Primarily used by OS bindings to indicate APIs that are only available in earlier versions. Annotates a custom guard field, property or method with a supported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple supported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. Annotates the custom guard field, property or method with an unsupported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple unsupported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard.