[VB6 equivalent: CMS_MakeSigDataFromSigValue]
Dim strDataHex As String
Dim strSigHex As String
Dim abData() As Byte
Dim abSigValue() As Byte
''Dim nSigLen As Integer
''Dim nDataLen As Integer
Dim strCertFile As String
Dim strCmsFile As String
Dim nRet As Integer
' Data to be signed in hex format:
strDataHex = "54:68:69:73:20:69:73:20:73:6f:6d:65:20:73:61:6d" & _
"70:6c:65:20:63:6f:6e:74:65:6e:74:2e"
' The signature (generated by the smart card) is:
strSigHex = "2F:23:82:D2:F3:09:5F:B8:0C:58:EB:4E:9D:BF:89:9A" & _
"81:E5:75:C4:91:3D:D3:D0:D5:7B:B6:D5:FE:94:A1:8A" & _
"AC:E3:C4:84:F5:CD:60:4E:27:95:F6:CF:00:86:76:75" & _
"3F:2B:F0:E7:D4:02:67:A7:F5:C7:8D:16:04:A5:B3:B5" & _
"E7:D9:32:F0:24:EF:E7:20:44:D5:9F:07:C5:53:24:FA" & _
"CE:01:1D:0F:17:13:A7:2A:95:9D:2B:E4:03:95:14:0B" & _
"E9:39:0D:BA:CE:6E:9C:9E:0C:E8:98:E6:55:13:D4:68" & _
"6F:D0:07:D7:A2:B1:62:4C:E3:8F:AF:FD:E0:D5:5D:C7"
strCertFile = "AliceRSASignByCarl.cer"
strCmsFile = "BasicSignByAliceExternal.bin"
' Convert the hex strings into byte arrays (non-hex chars are stripped)
abData = Cnv.FromHex(strDataHex)
abSigValue = Cnv.FromHex(strSigHex)
' Compute lengths
''nDataLen = UBound(abData) - LBound(abData) + 1
''nSigLen = UBound(abSigValue) - LBound(abSigValue) + 1
' Create the signed-data file
nRet = Cms.MakeSigDataFromSigValue(strCmsFile, abSigValue, abData, strCertFile, 0)
Console.WriteLine("CMS_MakeSigDataFromSigValue returns " & nRet)
See Also:
Cms.MakeSigDataFromSigValue Method (String, Byte[], Byte[], String, Cms.Options)
Cms.MakeSigDataFromSigValue Method (String, Byte[], Byte[], String, HashAlgorithm, Cms.SigDataOptions)