当前位置: 首页>>代码示例>>C#>>正文


C# X509Certificate.GetPublicKey方法代码示例

本文整理汇总了C#中X509Certificate.GetPublicKey方法的典型用法代码示例。如果您正苦于以下问题:C# X509Certificate.GetPublicKey方法的具体用法?C# X509Certificate.GetPublicKey怎么用?C# X509Certificate.GetPublicKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在X509Certificate的用法示例。


在下文中一共展示了X509Certificate.GetPublicKey方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: FromCertificate

		private static Asn1Sequence FromCertificate(
			X509Certificate certificate)
		{
			try
			{
				GeneralName genName = new GeneralName(
					PrincipalUtilities.GetIssuerX509Principal(certificate));

				if (certificate.Version == 3)
				{
					Asn1OctetString ext = certificate.GetExtensionValue(X509Extensions.SubjectKeyIdentifier);

					if (ext != null)
					{
						Asn1OctetString str = (Asn1OctetString) X509ExtensionUtilities.FromExtensionValue(ext);

						return (Asn1Sequence) new AuthorityKeyIdentifier(
							str.GetOctets(), new GeneralNames(genName), certificate.SerialNumber).ToAsn1Object();
					}
				}

				SubjectPublicKeyInfo info = SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(
					certificate.GetPublicKey());

				return (Asn1Sequence) new AuthorityKeyIdentifier(
					info, new GeneralNames(genName), certificate.SerialNumber).ToAsn1Object();
			}
			catch (Exception e)
			{
				throw new CertificateParsingException("Exception extracting certificate details", e);
			}
		}
开发者ID:Xanagandr,项目名称:DisaOpenSource,代码行数:32,代码来源:AuthorityKeyIdentifierStructure.cs

示例2: X509CertTest

        public static void X509CertTest()
        {
            string certSubject = TestData.NormalizeX500String(
                @"CN=Microsoft Corporate Root Authority, OU=ITG, O=Microsoft, L=Redmond, S=WA, C=US, [email protected]");

            using (X509Certificate cert = new X509Certificate(Path.Combine("TestData", "microsoft.cer")))
            {
                Assert.Equal(certSubject, cert.Subject);
                Assert.Equal(certSubject, cert.Issuer);

                int snlen = cert.GetSerialNumber().Length;
                Assert.Equal(16, snlen);

                byte[] serialNumber = new byte[snlen];
                Buffer.BlockCopy(cert.GetSerialNumber(), 0,
                                     serialNumber, 0,
                                     snlen);

                Assert.Equal(0xF6, serialNumber[0]);
                Assert.Equal(0xB3, serialNumber[snlen / 2]);
                Assert.Equal(0x2A, serialNumber[snlen - 1]);

                Assert.Equal("1.2.840.113549.1.1.1", cert.GetKeyAlgorithm());

                int pklen = cert.GetPublicKey().Length;
                Assert.Equal(270, pklen);

                byte[] publicKey = new byte[pklen];
                Buffer.BlockCopy(cert.GetPublicKey(), 0,
                                     publicKey, 0,
                                     pklen);

                Assert.Equal(0x30, publicKey[0]);
                Assert.Equal(0xB6, publicKey[9]);
                Assert.Equal(1, publicKey[pklen - 1]);
            }
        }
开发者ID:nnyamhon,项目名称:corefx,代码行数:37,代码来源:CertTests.cs

示例3: GetSubjectPublicKey

		private static SubjectPublicKeyInfo GetSubjectPublicKey(
			X509Certificate c)
		{
			return SubjectPublicKeyInfoFactory.CreateSubjectPublicKeyInfo(c.GetPublicKey());
		}
开发者ID:ktw,项目名称:OutlookPrivacyPlugin,代码行数:5,代码来源:X509CertStoreSelector.cs

示例4: CertIsSelfSigned

 /// <summary>
 /// Checks wether the certificate is self-signed.
 /// </summary>
 /// <returns>
 /// <c>true</c>, if is self-signed, <c>false</c> otherwise.
 /// </returns>
 /// <param name='BCCert'>
 /// BouncyCastle cert to check.
 /// </param>
 private static bool CertIsSelfSigned(X509Certificate BCCert)
 {
     try {
         BCCert.Verify (BCCert.GetPublicKey ());
         return true;
     } catch (SignatureException sigex) {
         // Invalid signature --> not self-signed
         return false;
     } catch (InvalidKeyException kex) {
         // Invalid key --> not self-signed
         return false;
     }
 }
开发者ID:ik3210,项目名称:appverse-mobile,代码行数:22,代码来源:SecurityUtils.cs


注:本文中的X509Certificate.GetPublicKey方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。