Logischerweise muss es ein Zertfikat sein, welches die Codesignatur unterstüzt. (Extension ID: 1.3.6.1.4.1.6449.1.2.1.3.2) [Diese Zertifikate können nur .dll, .cab, .exe Dateien signieren]
Ich habe die Funktion etwas weiter ausgebaut und dazu eine eigene Library erstellt, welche in jedes .NET Projekt eingefügt werden kann.
Darüberhinaus habe ich eine kleine Demo-Anwendung entwickelt, welche die Funktionsweise verdeutlichen soll:
Visual C#
// Mein Objekt
signProvider sP;
// Load Event
private void Form1_Load(object sender, EventArgs e)
{
// Instanziiere neues signProvider Objekt
sP = new signProvider(true);
}
private void button1_Click(object sender, EventArgs e)
{
// Öffne Auswahldialog der Zertifikate
sP.selectFromStore("Überschrift", "Beschreibung");
// Wenn ein Zertifikat ausgewählt wurde, Informationen auslesen
if (sP.Selected == true)
{
listBox1.Items.Clear();
listBox1.Items.Add("Aussteller: " + sP.Issuer);
listBox1.Items.Add("Besitzer: " + sP.Owner);
listBox1.Items.Add("mit TimeStamp?: " + sP.TimeStamp.ToString());
listBox1.Items.Add("Fingerabdruck: " + sP.Thumbprint);
listBox1.Items.Add("gültig seit: " + sP.ValidSince);
listBox1.Items.Add("gültig bis : " + sP.ValidUntil);
}
}
private void button3_Click(object sender, EventArgs e)
{
openFileDialog1.ShowDialog();
if (openFileDialog1.FileName != null)
{
textBox1.Text = openFileDialog1.FileName;
}
}
private void button2_Click(object sender, EventArgs e)
{
// signiere Datei
if (sP.signSingleFile(textBox1.Text) == true)
{
label3.Text = "Ergebnis: Datei wurde erfolgreich signiert";
}
else
{
label3.Text = "Ergebnis: Datei konnte nicht signiert werden";
};
}
}
Damit die Signatur geschrieben werden kann, ist es unabdingbar, das die signtool.exe (Microsoft-Tool zum Signieren) im Windows bzw. System32 Verzeichnis liegt. Diese Datei findet man im Ordner:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin
oder im Microsoft SDK Kit.
Im Dateianhang befinden sich die Library sowie die Beispieldateien.
Ich hoffe, dass diese Library für den ein oder anderen eine hilfreiche Resource sein wird!
Dieser Artikel ist Eigentum des Autors und darf ohne eine schriftliche Gehnehmigung nicht auf anderen Websiten oder Medien publiziert werden. Dies gilt auch für evtl. Attachments sowie optionale außenstehende Resourcen.
Angehängte Datei(en)
-
Beispielprojekt.rar (36,95K)
Anzahl der Downloads: 11 -
signingLibrary.rar (47K)
Anzahl der Downloads: 7


Hilfe







.













RSS Feed