Org.BouncyCastle.X509.X509Certificate.GetSignature C# (CSharp) Method

GetSignature() public method

The signature.
public GetSignature ( ) : byte[]
return byte[]
        public virtual byte[] GetSignature()
        {
            return c.Signature.GetBytes();
        }

Usage Example

Example #1
0
        public static Certificate Parse(byte[] certBytes)
        {
            Certificate certificate = new Certificate();

            try
            {
                X509Certificate2 x509 = new X509Certificate2(certBytes);
                certificate.EncodedValue     = certBytes;
                certificate.IsLoaded         = true;
                certificate.Version          = x509.Version;
                certificate.BasicConstraints = retrieveBasicContraints(x509);
                certificate.KeyUsage         = retrieveKeyUsage(x509);
                Validity validity = new Validity();
                validity.NotBefore   = new DateTimeOffset(x509.NotBefore).ToUnixTimeSeconds();
                validity.NotAfter    = new DateTimeOffset(x509.NotAfter).ToUnixTimeSeconds();
                certificate.Validity = validity;

                X509CertificateParser x509CertificateParser = new X509CertificateParser();
                X509Certificate       bouncyCertificate     = x509CertificateParser.ReadCertificate(certBytes);

                certificate.SerialNumber          = new BigInteger(bouncyCertificate.SerialNumber.ToByteArray());
                certificate.TbsCertificate        = bouncyCertificate.GetTbsCertificate();
                certificate.TBSSignatureAlgorithm =
                    bouncyCertificate.CertificateStructure.TbsCertificate.Signature.GetEncoded();
                certificate.SignatureAlgorithm = bouncyCertificate.CertificateStructure.SignatureAlgorithm.GetEncoded();
                string publicKeyAlgNameStr = CipherUtilities.GetAlgorithmName(bouncyCertificate.CertificateStructure
                                                                              .SubjectPublicKeyInfo.AlgorithmID.Algorithm);
                if (publicKeyAlgNameStr == null)
                {
                    publicKeyAlgNameStr = x509.PublicKey.Oid.FriendlyName;
                }

                certificate.PublicKeyAlgName     = StringUtil.StringToByteArray(publicKeyAlgNameStr);
                certificate.Signature            = bouncyCertificate.GetSignature();
                certificate.SubjectPublicKeyInfo =
                    bouncyCertificate.CertificateStructure.SubjectPublicKeyInfo.GetEncoded();
                certificate.SubjectKeyIdentifier   = retrieveSubjectKeyIdentifier(bouncyCertificate);
                certificate.AuthorityKeyIdentifier = retrieveAuthorityKeyIdentifier(bouncyCertificate);
                certificate.ExtendedKeyUsage       = retrieveExtendedKeyUsageOIDs(bouncyCertificate);
                certificate.Issuer   = RetrieveIssuerName(bouncyCertificate);
                certificate.Subject  = RetrieveSubjectName(bouncyCertificate);
                certificate.DNsNames = retrieveDnsNames(bouncyCertificate);
                return(certificate);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(certificate);
            }
        }
All Usage Examples Of Org.BouncyCastle.X509.X509Certificate::GetSignature