コード例 #1
0
        public dynamic Wipe()
        {
            Console.WriteLine("GET /api/ca/wipe");
            CAManager caManager = new CAManager();

            try
            {
                Directory.Delete(CAStorePathInfo.CARootPath, true);
                return(new { status = "OK" });
            }
            catch (Exception exception)
            {
                return(new { status = "FAIL", message = exception.Message });
            }
        }
コード例 #2
0
        public dynamic GetAll()
        {
            Console.WriteLine("GET /api/leaf/getall");
            CAManager caManager = new CAManager();

            IEnumerable <CertificateEntry> certs = caManager.GetAllLeafCertificates();

            if (certs == null || certs.Count() == 0)
            {
                return(null);
            }
            else
            {
                return(certs);
            }
        }
コード例 #3
0
        public void Create([FromBody] dynamic request)
        {
            Console.WriteLine("POST /api/ca/create");

            CAManager caManager = new CAManager();

            String name               = request.fqdn;
            String organization       = request.organization;
            String organizationalUnit = request.organizationalUnit;
            String city               = request.city;
            String stateCode          = request.stateCode;
            String countryCode        = request.countryCode;
            String password           = null;

            caManager.GenerateNewCACertificate(name, organization, organizationalUnit, city, stateCode, countryCode, password);
        }
コード例 #4
0
        public dynamic Get(String thumbprint)
        {
            Console.WriteLine($"GET /api/leaf/get/{thumbprint}");
            CAManager caManager = new CAManager();

            var cert = caManager.GetLeafCertificate(thumbprint);

            if (cert == null)
            {
                return new { status = "Certificate not present." }
            }
            ;
            else
            {
                return(new
                {
                    status = "OK",
                    x509certificate = cert,
                    subjectDN = cert.Certificate.ExtractDNFields(),
                    keySize = $"{cert.Certificate.GetRSAPublicKey().KeySize}-bit",
                    certificatePem = cert.Certificate.ExportToPEM()
                });
            }
        }