using System.Security.Cryptography; using Omika.App.Local.Security; using Omika.Core.Services.Mobile; namespace Omika.Tests.Mobile.Local; /// /// Vérifie qu'une clé de démonstration (dont la clé privée a circulé dans les /// journaux/outils de développement) n'est jamais approuvée dans le registre /// Production final. /// public class EnrollmentVerificationKeyTests { [Fact] public void CleDemo_Refusee_DansRegistreProduction() { // Le registre Production ne contient pas la clé de démonstration. Assert.False( EnrollmentVerificationKey.PublicKeysByKeyId.ContainsKey(EnrollmentVerificationKey.DemoKeyId)); // Un QR signé sous le kid de démonstration est donc refusé. using var demoRsa = RSA.Create(3072); string qr = EnrollmentQrCodec.Sign( EnrollmentQrCodec.BuildPayloadJson( EnrollmentVerificationKey.DemoKeyId, "BATIK.01", "LIC-001", "https://licence.example.com"), demoRsa.ToXmlString(true)); Assert.Null(EnrollmentQrCodec.Decode(qr, EnrollmentVerificationKey.PublicKeysByKeyId)); } }