Verlieren von XML Cryptographic Tools im Android -Release -Modus einer Maui Hybrid -App
Posted: 23 Feb 2025, 12:29
Ich habe eine Blazor Maui Hybrid App in .NET 9. Ich habe auch eine Bibliothek in dieser Lösung, die eine XML -Signaturüberprüfung durchführt. Ich habe eine Nullausnahme, aber nur im Release -Modus auf Android. < /P>
Der Code ist wie folgt: < /p> zu meiner trimRootassembly Liste und Es hat funktioniert. Ich könnte später mit dem TrimmerrootDescriptor gut abgestimmen, aber im Moment bin ich zufrieden mit dem, was ich habe. Ich habe auch alle Android -Linker -verwandten Dinge entfernt.
Der Code ist wie folgt: < /p>
Code: Select all
public static ConfigRoot ValidateAndLoadSignedConfig(string signedXml, RSA publicKey)
{
// Load the signed XML
XmlDocument xmlDoc = new();
xmlDoc.LoadXml(signedXml);
// Verify the signature
SignedXml signedXmlVerifier = new(xmlDoc);
XmlNodeList signatureNodes = xmlDoc.GetElementsByTagName("Signature");
if (signatureNodes?.Count != 1)
{
throw new CryptographicException("No signature");
}
signedXmlVerifier.LoadXml((XmlElement)signatureNodes[0]);
if (!signedXmlVerifier.CheckSignature(publicKey)) //
, aber es macht keinen Unterschied ... < /p>
[gelöst] < /p>
gleich nach dem Posten, das ich gefunden habe, habe ich gefunden Dieser auf GitHub: https://github.com/dotnet/runtime/issues/97242
Es war verspricht ähnlich, daher habe ich hinzugefügt System.security.cryptography