Select the product you need help with
Senden eines Clientzertifikats mit den Klassen "HttpWebRequest" und "HttpWebResponse" in Microsoft Visual C# .NETArtikel-ID: 895971 - Produkte anzeigen, auf die sich dieser Artikel bezieht Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base: 895971
(http://support.microsoft.com/kb/895971/EN-US/
)
How to send a client certificate by using the HttpWebRequest and HttpWebResponse classes in Microsoft Visual C# .NETVoraussetzungenDamit Sie ein Clientzertifikat aus Microsoft ASP.NET-Anwendungen senden können, müssen Sie die folgenden Hotfixes bzw. Service Packs installiert haben:Microsoft .NET Framework 1.0Sie müssen entweder das .NET Framework 1.0 Service Pack 3 (SP3) oder Hotfix 817854 installiert haben. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:817854
(http://support.microsoft.com/kb/817854/DE/
)
Update: ASP.NET-Webanwendung kann kein Client-Zertifikat an eine sichere Website senden.NET Framework 1.1Sie müssen entweder das .NET Framework 1.1 Service Pack 1 (SP1) oder Hotfix 831138 installiert haben. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:831138
(http://support.microsoft.com/kb/831138/DE/
)
UPDATE: eine Framework-Anwendung stellt OutOfMemoryException-Fehler fest, die sehr häufig die System.net.webrequest-methode verwendetBitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung. Auf dieser SeiteEinführungDieser Artikel beschreibt, wie Sie in Microsoft Visual C# .NET ein Clientzertifikat mit den Klassen HttpWebRequest und HttpWebResponse senden. Weitere InformationenWenn der Webserver ein Clientzertifikat benötigt, können Sie dies mithilfe der Klassen HttpWebRequest und HttpWebResponse senden. Wenden Sie eine der folgenden Methoden an, um ein Zertifikat zu erhalten, das zum Senden eines Clientzertifikats mit der Klasse HttpWebRequest verwendet werden kann: Methode 1Verwenden Sie die Klasse X509Certificate, um das Zertifikat aus einer CER-Datei zu lesen, und legen Sie die Eigenschaft ClientCertificates fest.Methode 2Verwenden Sie CryptoAPI-Aufrufe zum Beziehen des Zertifikats aus dem Zertifikatsspeicher. Weisen Sie dem Zertifikat, das sie aus dem Zertifikatsspeicher erhalten haben, dann die Klasse X509Certificate zu. Anschließend können Sie die Eigenschaft ClientCertificates festlegen.Voraussetzungen für das Senden eines ClientzertifikatsWenn Sie mit ASP.NET-Anwendungen arbeiten, vergewissern Sie sich, dass folgende Voraussetzungen erfüllt sind:
Verwenden einer CER-DateiMethode 1 ist leichter anzuwenden, setzt jedoch voraus, dass Sie eine CER-Datei haben. Wenn Sie keine CER-Datei installiert haben, exportieren Sie die CER-Datei mit dem Microsoft Internet Explorer.Der folgende Quellcode beschreibt, wie Sie ein Zertifikat aus einer CER-Datei erhalten, das Sie mit der Klasse HttpWebRequest verwenden können. Verwenden von CryptoAPI-AufrufenFalls Sie das Zertifikat aus dem Zertifikatsspeicher beziehen müssen, verwenden Sie die CryptoAPI-Funktionen zum Beziehen des Zertifikats und speichern es dann in einem Objekt der Klasse X509Certificate. Die Klasse X509CertificateCollection zählt alle Zertifikate in einem Speicher auf und legt sie in einem Objekt der Klasse X509CertificateCollection ab.Wenn Sie ein bestimmtes Zertifikat beziehen wollen, müssen Sie den Klassencode dazu mit der Funktion CertFindCertificateInStore modifizieren. Diese Funktion wird in der Datei "Wincrypt.h" deklariert. Alternativ können Sie eine Aufzählung für die Funktion X509CertificateCollection erzeugen, um das gewünschte Zertifikat zu finden. Der folgende Beispielcode verwendet das erste Zertifikat der Sammlung, die von der CertEnumCertificatesInStore-Funktion zurückgegeben wird. InformationsquellenWeitere Informationen finden Sie auf den folgenden MSDN-Websites: X509Certificate class (X509-Zertifikate) http://msdn2.microsoft.com/de-de/library/system.security.cryptography.x509certificates.x509certificate(en-us,vs.71).aspx
(http://msdn2.microsoft.com/de-de/library/system.security.cryptography.x509certificates.x509certificate(en-us,vs.71).aspx)
Platform SDK: Cryptography (Plattform-SDK: Kryptographie) http://msdn2.microsoft.com/de-de/library/aa380255(en-us).aspx
(http://msdn2.microsoft.com/de-de/library/aa380255(en-us).aspx)
EigenschaftenArtikel-ID: 895971 - Geändert am: Montag, 25. Februar 2008 - Version: 1.5 Die Informationen in diesem Artikel beziehen sich auf:
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
|


Zum Anfang








