X509FindType 列挙型
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Find(X509FindType, Object, Boolean) メソッドが検索する値の型を指定します。
public enum class X509FindType
public enum X509FindType
type X509FindType =
Public Enum X509FindType
- 継承
フィールド
| 名前 | 値 | 説明 |
|---|---|---|
| FindByThumbprint | 0 |
Find(X509FindType, Object, Boolean) メソッドの |
| FindBySubjectName | 1 |
Find(X509FindType, Object, Boolean) メソッドの |
| FindBySubjectDistinguishedName | 2 |
Find(X509FindType, Object, Boolean) メソッドの |
| FindByIssuerName | 3 |
Find(X509FindType, Object, Boolean) メソッドの |
| FindByIssuerDistinguishedName | 4 |
Find(X509FindType, Object, Boolean) メソッドの |
| FindBySerialNumber | 5 |
Find(X509FindType, Object, Boolean) メソッドの |
| FindByTimeValid | 6 |
Find(X509FindType, Object, Boolean) メソッドの |
| FindByTimeNotYetValid | 7 |
Find(X509FindType, Object, Boolean) メソッドの |
| FindByTimeExpired | 8 |
Find(X509FindType, Object, Boolean) メソッドの |
| FindByTemplateName | 9 |
Find(X509FindType, Object, Boolean) メソッドの |
| FindByApplicationPolicy | 10 |
Find(X509FindType, Object, Boolean) メソッドの |
| FindByCertificatePolicy | 11 |
Find(X509FindType, Object, Boolean) メソッドの |
| FindByExtension | 12 |
Find(X509FindType, Object, Boolean) メソッドの |
| FindByKeyUsage | 13 |
Find(X509FindType, Object, Boolean) メソッドの |
| FindBySubjectKeyIdentifier | 14 |
Find(X509FindType, Object, Boolean) メソッドの |
例
次の例では、現在のユーザーの個人用証明書ストアを開き、有効な証明書のみを検索し、ユーザーが証明書を選択できるようにしてから、証明書情報をコンソールに書き込みます。 出力は、選択した証明書によって異なります。
using System;
using System.Security.Cryptography;
using System.Security.Permissions;
using System.IO;
using System.Security.Cryptography.X509Certificates;
class CertSelect
{
static void Main()
{
X509Store store = new X509Store("MY",StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
X509Certificate2Collection fcollection = (X509Certificate2Collection)collection.Find(X509FindType.FindByTimeValid,DateTime.Now,false);
X509Certificate2Collection scollection = X509Certificate2UI.SelectFromCollection(fcollection, "Test Certificate Select","Select a certificate from the following list to get information on that certificate",X509SelectionFlag.MultiSelection);
Console.WriteLine("Number of certificates: {0}{1}",scollection.Count,Environment.NewLine);
foreach (X509Certificate2 x509 in scollection)
{
try
{
byte[] rawdata = x509.RawData;
Console.WriteLine("Content Type: {0}{1}",X509Certificate2.GetCertContentType(rawdata),Environment.NewLine);
Console.WriteLine("Friendly Name: {0}{1}",x509.FriendlyName,Environment.NewLine);
Console.WriteLine("Certificate Verified?: {0}{1}",x509.Verify(),Environment.NewLine);
Console.WriteLine("Simple Name: {0}{1}",x509.GetNameInfo(X509NameType.SimpleName,true),Environment.NewLine);
Console.WriteLine("Signature Algorithm: {0}{1}",x509.SignatureAlgorithm.FriendlyName,Environment.NewLine);
Console.WriteLine("Public Key: {0}{1}",x509.PublicKey.Key.ToXmlString(false),Environment.NewLine);
Console.WriteLine("Certificate Archived?: {0}{1}",x509.Archived,Environment.NewLine);
Console.WriteLine("Length of Raw Data: {0}{1}",x509.RawData.Length,Environment.NewLine);
X509Certificate2UI.DisplayCertificate(x509);
x509.Reset();
}
catch (CryptographicException)
{
Console.WriteLine("Information could not be written out for this certificate.");
}
}
store.Close();
}
}
Imports System.Security.Cryptography
Imports System.Security.Permissions
Imports System.IO
Imports System.Security.Cryptography.X509Certificates
Class CertSelect
Shared Sub Main()
Dim store As New X509Store("MY", StoreLocation.CurrentUser)
store.Open(OpenFlags.ReadOnly Or OpenFlags.OpenExistingOnly)
Dim collection As X509Certificate2Collection = CType(store.Certificates, X509Certificate2Collection)
Dim fcollection As X509Certificate2Collection = CType(collection.Find(X509FindType.FindByTimeValid, DateTime.Now, False), X509Certificate2Collection)
Dim scollection As X509Certificate2Collection = X509Certificate2UI.SelectFromCollection(fcollection, "Test Certificate Select", "Select a certificate from the following list to get information on that certificate", X509SelectionFlag.MultiSelection)
Console.WriteLine("Number of certificates: {0}{1}", scollection.Count, Environment.NewLine)
For Each x509 As X509Certificate2 In scollection
Try
Dim rawdata As Byte() = x509.RawData
Console.WriteLine("Content Type: {0}{1}", X509Certificate2.GetCertContentType(rawdata), Environment.NewLine)
Console.WriteLine("Friendly Name: {0}{1}", x509.FriendlyName, Environment.NewLine)
Console.WriteLine("Certificate Verified?: {0}{1}", x509.Verify(), Environment.NewLine)
Console.WriteLine("Simple Name: {0}{1}", x509.GetNameInfo(X509NameType.SimpleName, True), Environment.NewLine)
Console.WriteLine("Signature Algorithm: {0}{1}", x509.SignatureAlgorithm.FriendlyName, Environment.NewLine)
Console.WriteLine("Public Key: {0}{1}", x509.PublicKey.Key.ToXmlString(False), Environment.NewLine)
Console.WriteLine("Certificate Archived?: {0}{1}", x509.Archived, Environment.NewLine)
Console.WriteLine("Length of Raw Data: {0}{1}", x509.RawData.Length, Environment.NewLine)
X509Certificate2UI.DisplayCertificate(x509)
x509.Reset()
Catch cExcept As CryptographicException
Console.WriteLine("Information could not be written out for this certificate.")
End Try
Next x509
store.Close()
End Sub
End Class
注釈
X509FindTypeは、Find メソッドの findValue パラメーターに指定された値の型を識別します。
X509FindTypeを使用すると、サブジェクト名、拇印、シリアル番号、有効な日付範囲、またはその他の値でX509Certificate2 コレクションを検索できます。
FindByTime値型の組み合わせを使用して、特定の時間範囲内で有効な証明書を検索できます。 特定の時間に FindByTimeValid、FindByTimeNotYetValid、FindByTimeExpired を使用して返される証明書の和集合は、クエリされたコレクション内のすべての証明書を表します。