Exemplo n.º 1
0
        private static AsymmetricAlgorithm LoadPrivateKey(string privateKeyPem)
        {
            var keyType         = DetectKeyType(privateKeyPem);
            var privateKeyBytes = PemDecoder.DecodeSection(privateKeyPem, keyType);
            var privateKey      = GetPrivateKey(keyType, new ReadOnlyMemory <byte>(privateKeyBytes));

            return(privateKey);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Creates a X509Certificate2 from a certificate from the PEM string <paramref name="certificateData"/>
        /// and a private key from the PEM string <paramref name="privateKeyData"/>.
        /// </summary>
        /// <param name="certificateData">A PEM-encoded certificate</param>
        /// <param name="privateKeyData">A PEM-encoded private key</param>
        /// <returns>A new X509Certificate2 instance based on the key and certificate files</returns>
        public X509Certificate2 LoadCertificateWithPrivateKeyFromStrings(string certificateData, string privateKeyData)
        {
            var privateKey = LoadPrivateKey(privateKeyData);

            var certificateBytes = PemDecoder.DecodeSection(certificateData, "CERTIFICATE");
            var certificate      = LoadCertificate(certificateBytes);

            return(CreateCertificateWithPrivateKey(certificate, privateKey));
        }
Exemplo n.º 3
0
        public X509Certificate2 LoadCertificate(string certificateFileName)
        {
            var certificateBytes = PemDecoder.DecodeSectionFromFile(certificateFileName, "CERTIFICATE");

            return(LoadCertificate(certificateBytes));
        }