示例#1
0
        public void FailWhenMissingIntermediateCert()
        {
            var pem =
                string.Join(Environment.NewLine,
                            File.ReadAllText("./Data/leaf-cert.pem").Trim(),
                            File.ReadAllText("./Data/test-root.pem").Trim());

            var chain = new CertificateChain(pem);

            Assert.Throws <AcmeException>(() => chain.ToPem());
        }
示例#2
0
        public void CanGenerateFullChainPem()
        {
            var pem =
                string.Join(Environment.NewLine,
                            File.ReadAllText("./Data/leaf-cert.pem").Trim(),
                            File.ReadAllText("./Data/test-ca2.pem").Trim(),
                            File.ReadAllText("./Data/test-root.pem").Trim());

            var chain  = new CertificateChain(pem);
            var result = chain.ToPem();

            Assert.Equal(pem.Replace("\r", "").Trim(), result.Replace("\r", "").Trim());
        }
示例#3
0
        public void CanGenerateFullChainPemWithKey()
        {
            var key = KeyFactory.NewKey(KeyAlgorithm.ES256);

            var pem =
                string.Join(Environment.NewLine,
                            File.ReadAllText("./Data/cert.pem").Trim());

            var expectedPem =
                key.ToPem().Trim() +
                Environment.NewLine +
                pem +
                Environment.NewLine +
                File.ReadAllText("./Data/dst-root-ca-x3.pem").Trim();

            var chain  = new CertificateChain(pem);
            var result = chain.ToPem(key);

            Assert.Equal(expectedPem.Replace("\r", "").Trim(), result.Replace("\r", "").Trim());
        }