Ich möchte ein Open-Office-XML-Docx-Dokument mit einem X509-Zertifikat entweder in Java oder C# programmatisch digital signieren.
Dieser Link zeigt, wie das mit C# unter Verwendung von PackageDigitalSignatureManager aus System.IO.Packaging hervorragend funktioniert: http://blogs.infosupport.com/blogs/wouterv/archive/2007/02/24/Signing-Office-Open-XML-documents-using-the-Packaging-API.aspx
Obwohl dies gut funktioniert, wird am Ende ein Benutzerdialog eingeblendet, in dem der Benutzer nach einer PIN-Nummer für die authentifizierte digitale Signatur gefragt wird.
Wissen Sie, wie Sie diese PIN-Nummer programmatisch festlegen können?
Prost
Vielen Dank für die ausführliche Antwort. Im Grunde verwende ich eine elektronische ID-Chipkarte, die ein Zertifikat zum Signieren digitaler Dokumente hat.
Normalerweise übergebe ich einen öffentlichen Schlüssel vom Typ X509Certificate an die Methode PackageDigitalSignatureManager Sign().
Bei dieser Methode wird das Dokument signiert, aber der Benutzer wird zur Eingabe einer PIN aufgefordert, um den auf der Smartcard gespeicherten privaten Schlüssel abzurufen.
Ist es nicht möglich, dem PackageDigitalSignatureManager ein Objekt zu übergeben, das sowohl das öffentliche als auch das private Schlüsselpaar in einer PKCS12-Datei enthält, und dann wird der Benutzer nicht zur Eingabe einer PIN-Nummer aufgefordert.
Zum Wohl,