public void DeserializeSignedUserIdCardTest() { //Create Factory SOSIFactory factory = CreateSOSIFactory(Global.MocesCprGyldig); //Create IdCard UserIdCard idCard = CreateMocesUserIdCard(factory); idCard.Sign <Assertion>(factory.SignatureProvider); Assertion assertion = idCard.GetAssertion <Assertion>(); UserIdCard deserializedCard = (UserIdCard)factory.DeserializeIdCard(assertion); //Assert they are equal Assert.True(idCard.CreatedDate == deserializedCard.CreatedDate); Assert.True(idCard.ExpiryDate == deserializedCard.ExpiryDate); Assert.True(idCard.IsValidInTime == deserializedCard.IsValidInTime); Assert.True(idCard.UserInfo.Equals(deserializedCard.UserInfo)); Assert.True(idCard.AuthenticationLevel.Equals(deserializedCard.AuthenticationLevel)); Assert.True(idCard.CertHash == deserializedCard.CertHash); Assert.True(idCard.AlternativeIdentifier == deserializedCard.AlternativeIdentifier); Assert.True(idCard.IdCardId == deserializedCard.IdCardId); Assert.True(idCard.Issuer == deserializedCard.Issuer); Assert.True(idCard.Username == deserializedCard.Username); Assert.True(idCard.Password == deserializedCard.Password); Assert.True(idCard.SystemInfo.ItSystemName == deserializedCard.SystemInfo.ItSystemName); Assert.True(idCard.SystemInfo.CareProvider.Equals(deserializedCard.SystemInfo.CareProvider)); Assert.True(idCard.Version == deserializedCard.Version); Assert.True(idCard.SignedByCertificate.Equals(deserializedCard.SignedByCertificate)); }
public void ValidateSignatureTest() { SOSIFactory factory = CreateSOSIFactory(Global.MocesCprGyldig); UserIdCard idCard = CreateMocesUserIdCard(factory); idCard.Sign <Assertion>(factory.SignatureProvider); //This throws if you are not connected to VPN Assert.DoesNotThrow(delegate { idCard.ValidateSignatureAndTrust(factory.GetCredentialVault()); }); }
public void IdCardValidatorTest() { //Create factory SOSIFactory factory = CreateSOSIFactory(Global.MocesCprGyldig); //Create IdCard with missing UserGivenName UserIdCard idCard = factory.CreateNewUserIdCard("ItSystem", new UserInfo("12345678", null, "Person", "*****@*****.**", "Tester", "Læge", "12345"), new CareProvider(SubjectIdentifierType.medcomcvrnumber, "25520041", "TRIFORK SERVICES A/S // CVR:25520041"), AuthenticationLevel.MocesTrustedUser, "", "", factory.GetCredentialVault().GetSystemCredentials(), "alt"); //Try to sign the idCard Assert.Throws <ModelException>(delegate { idCard.Sign <Assertion>(factory.SignatureProvider); }); }
public void SelfSignedIdCardTest() { //Create factory SOSIFactory factory = CreateSOSIFactoryWithTestFederation(Global.MocesCprGyldig); //Create IdCard UserIdCard idCard = CreateIdCardForSTS(factory); //Sign IdCard idCard.Sign <Assertion>(factory.SignatureProvider); //Assert that selfsigned idCard fails Assert.Throws <ModelException>(delegate { idCard.ValidateSignatureAndTrust(factory.Federation); }); }
public void IsTrustedStsCertificateTest() { //Create factory SOSIFactory factory = CreateSOSIFactoryWithTestFederation(Global.MocesCprGyldig); //Create IdCard UserIdCard idCard = CreateIdCardForSTS(factory); //Sign IdCard idCard.Sign <Assertion>(factory.SignatureProvider); UserIdCard idc = (UserIdCard)SealUtilities.SignIn(idCard, "NETS DANID A/S", Settings.Default.SecurityTokenService); //Assert that STS certificate goes through Assert.DoesNotThrow(delegate { idc.ValidateSignatureAndTrust(factory.Federation); }); }
public void SosiFederationTest() { //Create factory SOSIFactory factory = CreateSOSIFactoryWithSosiFederation(Global.MocesCprGyldig); //Create IdCard UserIdCard idCard = CreateIdCardForSTS(factory); //Sign IdCard idCard.Sign <Assertion>(factory.SignatureProvider); UserIdCard idc = (UserIdCard)SealUtilities.SignIn(idCard, "NETS DANID A/S", Settings.Default.SecurityTokenService); //Assert that STS certificate fails due to mismatch in prefix/cvr Assert.Throws <ModelException>(delegate { idc.ValidateSignatureAndTrust(factory.Federation); }); }
public void IdCardSerializeStreamTest() { //Create factory SOSIFactory factory = CreateSOSIFactory(Global.MocesCprGyldig); //Create IdCard UserIdCard idCard = CreateMocesUserIdCard(factory); //Sign IdCard Assertion ass = idCard.Sign <Assertion>(factory.SignatureProvider); var idCardStream = IdCardSerializer.SerializeIdCardToStream <UserIdCard>(idCard); var newIdCard = IdCardSerializer.DeserializeIdCard <UserIdCard>(idCardStream); Assertion.Equals(idCard, newIdCard); }
public void IdCardMocesSignTest() { //Create factory SOSIFactory factory = CreateSOSIFactory(Global.MocesCprGyldig); //Create IdCard UserIdCard idCard = CreateMocesUserIdCard(factory); //Sign IdCard Assertion ass = idCard.Sign <Assertion>(factory.SignatureProvider); Assertion ass2 = idCard.GetAssertion <Assertion>(); //Assert assertion was created succesfully Assert.NotNull(ass); Assert.NotNull(idCard.Xassertion); //Make sure the assertion returned from Sign and Get are the same. Assert.True(ass.Signature.SignatureValue.ToString() == ass2.Signature.SignatureValue.ToString()); }
public void ValidateSignatureNegativeTest() { if (ConfigurationManager.AppSettings.AllKeys.Contains("CheckDate")) { ConfigurationManager.AppSettings["CheckDate"] = "True"; } //Get invalid certificate X509Certificate2 newCert = new X509Certificate2(Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "Resources", "oces2", "PP", "MOCES_udloebet.p12"), "Test1234"); SOSIFactory factory = CreateSOSIFactory(newCert); UserIdCard idCard = CreateMocesUserIdCard(factory); idCard.Sign <Assertion>(factory.SignatureProvider); Assert.Throws <ModelException>(delegate { idCard.ValidateSignatureAndTrust(factory.GetCredentialVault()); }); if (ConfigurationManager.AppSettings.AllKeys.Contains("CheckDate")) { ConfigurationManager.AppSettings["CheckDate"] = "False"; } }