public void TestParseExceptions() { var locator = new DkimPublicKeyLocator(); locator.Add("empty._domainkey.example.org", string.Empty); locator.Add("whitespace._domainkey.example.org", " "); locator.Add("no-k-or-p-params._domainkey.example.org", "v=DKIM1; x=abc; y=def"); //locator.Add ("no-k-param._domainkey.example.org", "v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3id Y6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lx j+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"); locator.Add("no-p-param._domainkey.example.org", "v=DKIM1; k=rsa"); locator.Add("unknown-algorithm._domainkey.example.org", "v=DKIM1; k=dummy; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3id"); Assert.Throws <ParseException> (() => locator.LocatePublicKey("dns/txt", "example.org", "empty")); Assert.Throws <ParseException> (() => locator.LocatePublicKey("dns/txt", "example.org", "whitespace")); Assert.Throws <ParseException> (() => locator.LocatePublicKey("dns/txt", "example.org", "no-k-or-p-params")); //Assert.Throws<ParseException> (() => locator.LocatePublicKey ("dns/txt", "example.org", "no-k-param")); Assert.Throws <ParseException> (() => locator.LocatePublicKey("dns/txt", "example.org", "no-p-param")); Assert.Throws <ParseException> (() => locator.LocatePublicKey("dns/txt", "example.org", "unknown-algorithm")); }
public void TestArgumentExceptions() { var locator = new DkimPublicKeyLocator(); locator.Add("dummy._domainkey.example.org", null); Assert.Throws <ArgumentNullException> (() => locator.LocatePublicKey("dns/txt", "example.org", "dummy")); Assert.ThrowsAsync <ArgumentNullException> (async() => await locator.LocatePublicKeyAsync("dns/txt", "example.org", "dummy")); }
public void TestParseMissingKParamDefaultsToRsa() { var locator = new DkimPublicKeyLocator(); locator.Add("no-k-param._domainkey.example.org", "v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3id Y6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lx j+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"); var key = locator.LocatePublicKey("dns/txt", "example.org", "no-k-param"); Assert.IsInstanceOf <RsaKeyParameters> (key); }