X509Certificate2.Import Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Popola un X509Certificate2 oggetto con le informazioni sul certificato fornite.
Overload
| Nome | Descrizione |
|---|---|
| Import(Byte[]) |
Popola un X509Certificate2 oggetto con i dati di una matrice di byte. |
| Import(String) |
Popola un X509Certificate2 oggetto con informazioni da un file di certificato. |
| Import(Byte[], SecureString, X509KeyStorageFlags) |
Popola un X509Certificate2 oggetto usando i dati di una matrice di byte, una password e un flag di archiviazione delle chiavi. |
| Import(Byte[], String, X509KeyStorageFlags) |
Popola un X509Certificate2 oggetto usando i dati di una matrice di byte, una password e i flag per determinare come importare la chiave privata. |
| Import(String, SecureString, X509KeyStorageFlags) |
Popola un X509Certificate2 oggetto con informazioni provenienti da un file di certificato, una password e un flag di archiviazione delle chiavi. |
| Import(String, String, X509KeyStorageFlags) |
Popola un X509Certificate2 oggetto con informazioni da un file di certificato, una password e un X509KeyStorageFlags valore. |
Import(Byte[])
Popola un X509Certificate2 oggetto con i dati di una matrice di byte.
public:
override void Import(cli::array <System::Byte> ^ rawData);
public override void Import(byte[] rawData);
override this.Import : byte[] -> unit
Public Overrides Sub Import (rawData As Byte())
Parametri
- rawData
- Byte[]
Matrice di byte contenente dati da un certificato X.509.
Commenti
Questo metodo può essere usato per accettare una matrice di byte non elaborata di un certificato X.509 e popolare l'oggetto X509Certificate2 con i relativi valori associati.
Poiché questo metodo accetta solo una matrice di byte, può essere usato solo per i tipi di certificato che non richiedono una password, inclusi un certificato X.509 con codifica PEM o DER o un certificato PFX/PKCS12. Si noti che un certificato PFX/PKCS12 può contenere più certificati. In tal caso, viene usato il primo certificato associato a una chiave privata o, se non viene trovata alcuna chiave privata, viene usato il primo certificato.
Si applica a
Import(String)
Popola un X509Certificate2 oggetto con informazioni da un file di certificato.
public:
override void Import(System::String ^ fileName);
public override void Import(string fileName);
override this.Import : string -> unit
Public Overrides Sub Import (fileName As String)
Parametri
- fileName
- String
Nome di un certificato.
Commenti
Questo metodo usa un file di certificato, ad esempio un file con estensione .cer, che rappresenta un certificato X.509 e popola l'oggetto X509Certificate2 con il certificato contenuto nel file.
Questo metodo può essere usato con diversi tipi di certificato, tra cui certificati X.509 con codifica PEM o CON codifica DER, certificati PFX/PKCS12 e certificati firmatari, ad esempio Authenticode. Si noti che un certificato PFX/PKCS12 può contenere più certificati. In tal caso, viene usato il primo certificato associato a una chiave privata o, se non viene trovata alcuna chiave privata, viene usato il primo certificato.
Si applica a
Import(Byte[], SecureString, X509KeyStorageFlags)
Importante
Questa API non è conforme a CLS.
Popola un X509Certificate2 oggetto usando i dati di una matrice di byte, una password e un flag di archiviazione delle chiavi.
public:
override void Import(cli::array <System::Byte> ^ rawData, System::Security::SecureString ^ password, System::Security::Cryptography::X509Certificates::X509KeyStorageFlags keyStorageFlags);
public override void Import(byte[] rawData, System.Security.SecureString password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags);
[System.CLSCompliant(false)]
public override void Import(byte[] rawData, System.Security.SecureString password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags);
override this.Import : byte[] * System.Security.SecureString * System.Security.Cryptography.X509Certificates.X509KeyStorageFlags -> unit
[<System.CLSCompliant(false)>]
override this.Import : byte[] * System.Security.SecureString * System.Security.Cryptography.X509Certificates.X509KeyStorageFlags -> unit
Public Overrides Sub Import (rawData As Byte(), password As SecureString, keyStorageFlags As X509KeyStorageFlags)
Parametri
- rawData
- Byte[]
Matrice di byte che contiene i dati di un certificato X.509.
- password
- SecureString
Password necessaria per accedere ai dati del certificato X.509.
- keyStorageFlags
- X509KeyStorageFlags
Combinazione bit per bit dei valori di enumerazione che controllano dove e come importare il certificato.
- Attributi
Commenti
È possibile usare questo metodo per i tipi di certificato, ad esempio certificati X.509 con codifica PEM o con codifica DER, o certificati PFX/PKCS12. Si noti che un certificato PFX/PKCS12 può contenere più certificati. In tal caso, viene usato il primo certificato associato a una chiave privata o, se non viene trovata alcuna chiave privata, viene usato il primo certificato.
Important
Non impostare mai come hardcoded una password all'interno del codice sorgente. Le password hardcoded possono essere recuperate da un assembly usando il Ildasm.exe (Disassembler IL), un editor esadecimale o semplicemente aprendo l'assembly in un editor di testo, ad esempio Notepad.exe.
Si applica a
Import(Byte[], String, X509KeyStorageFlags)
Popola un X509Certificate2 oggetto usando i dati di una matrice di byte, una password e i flag per determinare come importare la chiave privata.
public:
override void Import(cli::array <System::Byte> ^ rawData, System::String ^ password, System::Security::Cryptography::X509Certificates::X509KeyStorageFlags keyStorageFlags);
public override void Import(byte[] rawData, string password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags);
override this.Import : byte[] * string * System.Security.Cryptography.X509Certificates.X509KeyStorageFlags -> unit
Public Overrides Sub Import (rawData As Byte(), password As String, keyStorageFlags As X509KeyStorageFlags)
Parametri
- rawData
- Byte[]
Matrice di byte contenente dati da un certificato X.509.
- password
- String
Password necessaria per accedere ai dati del certificato X.509.
- keyStorageFlags
- X509KeyStorageFlags
Combinazione bit per bit dei valori di enumerazione che controllano dove e come importare il certificato.
Esempio
Nell'esempio di codice seguente viene creato un eseguibile della riga di comando che accetta un file di certificato come argomento e stampa varie proprietà del certificato nella console.
using System;
using System.Security.Cryptography;
using System.Security.Permissions;
using System.IO;
using System.Security.Cryptography.X509Certificates;
class CertInfo
{
//Reads a file.
internal static byte[] ReadFile (string fileName)
{
FileStream f = new FileStream(fileName, FileMode.Open, FileAccess.Read);
int size = (int)f.Length;
byte[] data = new byte[size];
size = f.Read(data, 0, size);
f.Close();
return data;
}
//Main method begins here.
static void Main(string[] args)
{
//Test for correct number of arguments.
if (args.Length < 1)
{
Console.WriteLine("Usage: CertInfo <filename>");
return;
}
try
{
byte[] rawData = ReadFile(args[0]);
//Create X509Certificate2 object from .cer file.
X509Certificate2 x509 = new X509Certificate2(rawData);
//Print to console information contained in the certificate.
Console.WriteLine("{0}Subject: {1}{0}", Environment.NewLine, x509.Subject);
Console.WriteLine("{0}Issuer: {1}{0}", Environment.NewLine, x509.Issuer);
Console.WriteLine("{0}Version: {1}{0}", Environment.NewLine, x509.Version);
Console.WriteLine("{0}Valid Date: {1}{0}", Environment.NewLine, x509.NotBefore);
Console.WriteLine("{0}Expiry Date: {1}{0}", Environment.NewLine, x509.NotAfter);
Console.WriteLine("{0}Thumbprint: {1}{0}", Environment.NewLine, x509.Thumbprint);
Console.WriteLine("{0}Serial Number: {1}{0}", Environment.NewLine, x509.SerialNumber);
Console.WriteLine("{0}Friendly Name: {1}{0}", Environment.NewLine, x509.PublicKey.Oid.FriendlyName);
Console.WriteLine("{0}Public Key Format: {1}{0}", Environment.NewLine, x509.PublicKey.EncodedKeyValue.Format(true));
Console.WriteLine("{0}Raw Data Length: {1}{0}", Environment.NewLine, x509.RawData.Length);
Console.WriteLine("{0}Certificate to string: {1}{0}", Environment.NewLine, x509.ToString(true));
Console.WriteLine("{0}Certificate to XML String: {1}{0}", Environment.NewLine, x509.PublicKey.Key.ToXmlString(false));
//Add the certificate to a X509Store.
X509Store store = new X509Store();
store.Open(OpenFlags.MaxAllowed);
store.Add(x509);
store.Close();
}
catch (DirectoryNotFoundException)
{
Console.WriteLine("Error: The directory specified could not be found.");
}
catch (IOException)
{
Console.WriteLine("Error: A file in the directory could not be accessed.");
}
catch (NullReferenceException)
{
Console.WriteLine("File must be a .cer file. Program does not have access to that type of file.");
}
}
}
Imports System.Security.Cryptography
Imports System.Security.Permissions
Imports System.IO
Imports System.Security.Cryptography.X509Certificates
Class CertInfo
'Reads a file.
Friend Shared Function ReadFile(ByVal fileName As String) As Byte()
Dim f As New FileStream(fileName, FileMode.Open, FileAccess.Read)
Dim size As Integer = Fix(f.Length)
Dim data(size - 1) As Byte
size = f.Read(data, 0, size)
f.Close()
Return data
End Function
<SecurityPermission(SecurityAction.LinkDemand, Unrestricted:=True)> _
Shared Sub Main(ByVal args() As String)
'Test for correct number of arguments.
If args.Length < 1 Then
Console.WriteLine("Usage: CertInfo <filename>")
Return
End If
Try
Dim x509 As New X509Certificate2()
'Create X509Certificate2 object from .cer file.
Dim rawData As Byte() = ReadFile(args(0))
x509.Import(rawData)
'Print to console information contained in the certificate.
Console.WriteLine("{0}Subject: {1}{0}", Environment.NewLine, x509.Subject)
Console.WriteLine("{0}Issuer: {1}{0}", Environment.NewLine, x509.Issuer)
Console.WriteLine("{0}Version: {1}{0}", Environment.NewLine, x509.Version)
Console.WriteLine("{0}Valid Date: {1}{0}", Environment.NewLine, x509.NotBefore)
Console.WriteLine("{0}Expiry Date: {1}{0}", Environment.NewLine, x509.NotAfter)
Console.WriteLine("{0}Thumbprint: {1}{0}", Environment.NewLine, x509.Thumbprint)
Console.WriteLine("{0}Serial Number: {1}{0}", Environment.NewLine, x509.SerialNumber)
Console.WriteLine("{0}Friendly Name: {1}{0}", Environment.NewLine, x509.PublicKey.Oid.FriendlyName)
Console.WriteLine("{0}Public Key Format: {1}{0}", Environment.NewLine, x509.PublicKey.EncodedKeyValue.Format(True))
Console.WriteLine("{0}Raw Data Length: {1}{0}", Environment.NewLine, x509.RawData.Length)
Console.WriteLine("{0}Certificate to string: {1}{0}", Environment.NewLine, x509.ToString(True))
Console.WriteLine("{0}Certificate to XML String: {1}{0}", Environment.NewLine, x509.PublicKey.Key.ToXmlString(False))
'Add the certificate to a X509Store.
Dim store As New X509Store()
store.Open(OpenFlags.MaxAllowed)
store.Add(x509)
store.Close()
Catch dnfExcept As DirectoryNotFoundException
Console.WriteLine("Error: The directory specified could not be found.")
Catch ioExpcept As IOException
Console.WriteLine("Error: A file in the directory could not be accessed.")
Catch nrExcept As NullReferenceException
Console.WriteLine("File must be a .cer file. Program does not have access to that type of file.")
End Try
End Sub
End Class
Commenti
Questo metodo può essere usato per popolare un X509Certificate2 oggetto usando una password per il certificato rappresentato dalla matrice di byte. Il X509KeyStorageFlags valore può essere usato per controllare dove e come importare la chiave privata.
Questo metodo accetta una matrice di byte e può essere usato per i tipi di certificato, ad esempio certificati X.509 con codifica PEM o con codifica DER o certificati PFX/PKCS12. Si noti che un certificato PFX/PKCS12 può contenere più certificati. In tal caso, viene usato il primo certificato associato a una chiave privata o, se non viene trovata alcuna chiave privata, viene usato il primo certificato.
Important
Non impostare mai come hardcoded una password all'interno del codice sorgente. Le password hardcoded possono essere recuperate da un assembly usando il Ildasm.exe (Disassembler IL), un editor esadecimale o semplicemente aprendo l'assembly in un editor di testo, ad esempio Notepad.exe.
Si applica a
Import(String, SecureString, X509KeyStorageFlags)
Importante
Questa API non è conforme a CLS.
Popola un X509Certificate2 oggetto con informazioni provenienti da un file di certificato, una password e un flag di archiviazione delle chiavi.
public:
override void Import(System::String ^ fileName, System::Security::SecureString ^ password, System::Security::Cryptography::X509Certificates::X509KeyStorageFlags keyStorageFlags);
public override void Import(string fileName, System.Security.SecureString password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags);
[System.CLSCompliant(false)]
public override void Import(string fileName, System.Security.SecureString password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags);
override this.Import : string * System.Security.SecureString * System.Security.Cryptography.X509Certificates.X509KeyStorageFlags -> unit
[<System.CLSCompliant(false)>]
override this.Import : string * System.Security.SecureString * System.Security.Cryptography.X509Certificates.X509KeyStorageFlags -> unit
Public Overrides Sub Import (fileName As String, password As SecureString, keyStorageFlags As X509KeyStorageFlags)
Parametri
- fileName
- String
Nome di un file di certificato.
- password
- SecureString
Password necessaria per accedere ai dati del certificato X.509.
- keyStorageFlags
- X509KeyStorageFlags
Combinazione bit per bit dei valori di enumerazione che controllano dove e come importare il certificato.
- Attributi
Commenti
Nota sulla sicurezza Non impostare mai come hardcoded una password all'interno del codice sorgente. Le password hardcoded possono essere recuperate da un assembly usando il Ildasm.exe (Disassembler IL), un editor esadecimale o semplicemente aprendo l'assembly in un editor di testo, ad esempio Notepad.exe.
Si applica a
Import(String, String, X509KeyStorageFlags)
Popola un X509Certificate2 oggetto con informazioni da un file di certificato, una password e un X509KeyStorageFlags valore.
public:
override void Import(System::String ^ fileName, System::String ^ password, System::Security::Cryptography::X509Certificates::X509KeyStorageFlags keyStorageFlags);
public override void Import(string fileName, string password, System.Security.Cryptography.X509Certificates.X509KeyStorageFlags keyStorageFlags);
override this.Import : string * string * System.Security.Cryptography.X509Certificates.X509KeyStorageFlags -> unit
Public Overrides Sub Import (fileName As String, password As String, keyStorageFlags As X509KeyStorageFlags)
Parametri
- fileName
- String
Nome di un file di certificato.
- password
- String
Password necessaria per accedere ai dati del certificato X.509.
- keyStorageFlags
- X509KeyStorageFlags
Combinazione bit per bit dei valori di enumerazione che controllano dove e come importare il certificato.
Commenti
Questo metodo può essere usato per popolare un X509Certificate2 oggetto con informazioni provenienti da un file di certificato, una password e un X509KeyStorageFlags valore.
Important
Non impostare mai come hardcoded una password all'interno del codice sorgente. Le password hardcoded possono essere recuperate da un assembly usando il Ildasm.exe (Disassembler IL), un editor esadecimale o semplicemente aprendo l'assembly in un editor di testo, ad esempio Notepad.exe.