2011-01-05 7 views
1

Ist es möglich, ein Clientzertifikat in ASP.NET ohne das Verwenden von makecert.exe zu generieren? Das generierte Zertifikat sollte mit einem bestimmten CA-Zertifikat signiert werden (das spezifische CA-Zertifikat wird im Dateisystem gespeichert und zur Laufzeit ausgewählt). Das generierte Zertifikat sollte an eine Webanforderung an einen anderen Server angehängt werden, um Daten abrufen zu können.X.509-Clientprogramm (nicht selbstsigniert) programmgesteuert generieren

Der Fluss:

Benutzer für eine ASP.NET-Seite auf IIS fragen -> Zertifikat auf IIS erzeugt wird ASP.NET mit -> einem anderen Server mit dem Zertifikat beigefügt Aufruf -> Daten zurückgegeben und wird auf gezeigt die angeforderte Seite für den Benutzer.

Ich konnte keinen Weg dafür nativ durch das .NET Framework finden und erforschten verschiedene Optionen wie:

  • CertEnroll.dll - Diese Schnittstelle ersetzt die alte IEnroll4 Schnittstelle. Es scheint, dass es nur eine Erstellung einer Zertifikatsanforderung unterstützt - IX509Enrollment: http://msdn.microsoft.com/en-us/library/aa377809(v=VS.85).aspx
  • Bouncy Castle - Ein Open-Source-Projekt, das ich nicht zu verwenden (Lizenzfragen)
  • für Ihre Antworten

Vielen Dank im Voraus vielleicht in der Lage .

+1

Bitte erläutern Sie Ihren Anwendungsfall ein wenig besser. Warum möchten Sie Zertifikate pro Anfrage generieren? – Doobi

+0

Haben Sie tatsächlich die [Bouncycastle-Lizenz] (http://www.bouncycastle.org/csharp/licence.html) gelesen? –

+0

Doobi - Ja. Ich möchte Zertifikate pro Anfrage erzeugen und möglicherweise für den Benutzer auf dem IIS cachen. GregS - Derzeit muss ich eine Lösung finden, die keine 3rd-Party-Komponente beteiligt, wenn ... – soguy

Antwort

1

Sie können auch PKIBlackbox package unserer SecureBlackbox-Komponenten verwenden. Mit ihnen können Sie Zertifikate erstellen und zahlreiche andere PKI-Funktionen ausführen.

+0

Danke. Im Moment suche ich nach einer Nicht-Drittanbieter-Lösung und wenn nicht, eine kostenlose Open-Source-Lösung. – soguy

+0

@soguy Wenn Sie eine reine verwaltete Lösung wünschen, dann müssten Sie selbst eine schreiben oder die Bibliothek eines Drittanbieters verwenden. Soweit ich weiß, werden PKCS # 10 (Zertifikatsanforderungen) nur von SecureBlackbox unterstützt. –

+0

Danke. Ich habe mich entschieden, Bouncy Castle zu benutzen, was gut funktioniert hat ... – soguy