コード例 #1
0
        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"));
        }
コード例 #2
0
        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"));
        }
コード例 #3
0
        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);
        }