Metodo VSProject2.GenerateKeyPairFiles (String, String)
Genera un file di chiave pubblica/privata utilizzato per formare un nome sicuro per l'assembly.
Spazio dei nomi: VSLangProj80
Assembly: VSLangProj80 (in VSLangProj80.dll)
Sintassi
'Dichiarazione
Sub GenerateKeyPairFiles ( _
strPublicPrivateFile As String, _
strPublicOnlyFile As String _
)
void GenerateKeyPairFiles(
string strPublicPrivateFile,
string strPublicOnlyFile
)
void GenerateKeyPairFiles(
[InAttribute] String^ strPublicPrivateFile,
[InAttribute] String^ strPublicOnlyFile
)
abstract GenerateKeyPairFiles :
strPublicPrivateFile:string *
strPublicOnlyFile:string -> unit
function GenerateKeyPairFiles(
strPublicPrivateFile : String,
strPublicOnlyFile : String
)
Parametri
- strPublicPrivateFile
Tipo: System.String
Nome del file da generare.
- strPublicOnlyFile
Tipo: System.String
Se impostato su True, verrà generata solo la chiave pubblica.
Note
Un nome sicuro è costituito dall'identità dell'assembly, corrispondente al nome in formato testo, al numero di versione e alle informazioni sulle impostazioni cultura eventualmente disponibili, nonché da una chiave pubblica e da una firma digitale.La coppia di chiavi pubblica/privata utilizzata per creare la firma digitale può essere archiviata in un file o in un contenitore del provider del servizio di crittografia.Sn.exe (strumento Nome sicuro) crea il file o un contenitore.Il nome del contenitore viene specificato dall'utente quando viene eseguito il programma. Lo stesso nome verrà utilizzato in questa proprietà.Per ulteriori informazioni, vedere Assembly con nomi sicuri.
Un provider del servizio di crittografia rappresenta un modulo software indipendente che esegue algoritmi crittografici per l'autenticazione, la codifica e la crittografia.Per ulteriori informazioni, vedere Cryptographic Services.
Esempi
Nell'esempio riportato di seguito viene generato un file binario contenente la coppia di chiavi.Per visualizzare il file generato, utilizzare Sn.exe (strumento Nome sicuro).Per eseguire questo esempio come componente aggiuntivo, vedere Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione.Prima di eseguire l'esempio, aprire un progetto di Visual Basic o Visual C#.
[Visual Basic]
' Add-in code.
Imports VSLangProj
Imports VSLangProj80
Public Sub OnConnection(ByVal application As Object,_
ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
ByRef custom As Array) Implements IDTExtensibility2.OnConnection
applicationObject = CType(application, DTE2)
addInInstance = CType(addInInst, AddIn)
GenerateKeyPairs(applicationObject)
End Sub
Sub GenerateKeyPairs(ByVal dte As DTE2)
Dim aProject As Project
Dim aVSProject As VSProject2
aProject = applicationObject.Solution.Projects.Item(1)
aVSProject = CType(applicationObject.Solution.Projects.Item(1)._
Object, VSProject2)
' Replace <file path> with an actual file path.
aVSProject.GenerateKeyPairFiles("<file path>\MyKeyText.bin", "0")
End Sub
[C#]
using System.Windows.Forms;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;
public void OnConnection(object application,
ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
applicationObject = (DTE2)application;
addInInstance = (AddIn)addInInst;
GenerateKeyPair((DTE2)applicationObject);
}
public void GenerateKeyPair(DTE2 dte)
{
Project aProject = null;
VSProject2 aVSProject = null;
aProject = applicationObject.Solution.Projects.Item(1);
aVSProject = ((VSProject2)(
applicationObject.Solution.Projects.Item(1).Object));
// Replace the <file path> with an actual path.
aVSProject.GenerateKeyPairFiles
("<file path>\\MyKeyText2.bin", "0");
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.