Cosignature d’un document
[capicom est un composant uniquement de 32 bits qui peut être utilisé dans les systèmes d’exploitation suivants : Windows Server 2008, Windows Vista et Windows XP. utilisez plutôt le .NET Framework pour implémenter des fonctionnalités de sécurité. Pour plus d’informations, consultez alternatives à l’utilisation deCAPICOM.]
Un document peut être signé par plus d’un signataire. Cela se produit quand, par exemple, deux ou plusieurs parties signent un contrat ou une note de frais. Dans l’exemple suivant, un document déjà signé est reçu par un deuxième signataire. Ce signataire utilise la méthode cosign pour attacher une signature supplémentaire au document.
Si une erreur CAPICOM se produit, une valeur négative est retournée dans la propriété Err. Number . Pour plus d’informations sur les codes d’erreur CAPICOM, consultez code d' _ erreur _ CAPICOM. si le code d’erreur dans la propriété Err. Number est une valeur positive, l’erreur est une erreur de Windows. pour plus d’informations sur les codes d’erreur Windows, consultez Winerror. h.
Notes
La cosignature d’un document requiert également que le cosignataire dispose d’un certificat disponible avec une clé privée pour créer la signature. Si un signataire n’est pas spécifié dans l’appel de la méthode Sign et qu’il n’existe pas de certificat dans _ le _ magasin mon magasin avec une clé privée associée, la méthode échoue. S’il existe un seul certificat dans CAPICOM _ My _ Store avec une clé privée associée, la clé et le certificat sont utilisés. S’il existe plus d’un certificat utilisable, une invite s’affiche pour permettre à l’utilisateur de choisir le certificat souhaité.
Si la méthode de cosignature est utilisée dans une application Web, une invite est toujours affichée pour obtenir l’autorisation de l’utilisateur avant la création d’une signature à l’aide de la clé privée de ce signataire.
Dans l’exemple suivant, les fichiers qui contiennent le document à signer et les signatures actuelles sur ce document sont lus, la signature est cosignée et la nouvelle signature est écrite dans un fichier. L’exemple utilise une signature détachée avec les données signées et la signature dans des fichiers distincts.
Sub CoSignContent(ByVal InputFile1Name As String, ByVal _
InputFile2Name As String, ByVal OutputFileName As String)
On Error GoTo ErrorHandler
Dim c As String
Dim s As String
Dim CS As String
Dim Signobj As New SignedData
Open InputFile1Name for Input as #1
Input #1, s
Close #1
Open InputFileName2 for input as #2
Input #2, c
Close #2
Signobj.Content = c
Signobj.Verify(s)
CS = Signobj.CoSign
Open OutputFileName for output as #3
Write #3, CS
Close # 3
Signobj = Nothing
MsgBox("Cosign finished. Cosignature saved to a file.")
Exit Sub
ErrorHandler:
If err.number > 0 Then
MsgBox("Visual Basic error found:" & err.description)
Else
MsgBox("CAPICOM error found : " & err.number)
End If
End Sub