30.10.2007 8:28:40Доподписывание сообщения через CAPICOM Ответов: 2
Killua
Есть подписаное сообщение, подписано коректно, для проверки методом Verify получаю исходное сообщение и функция отрабатывает без ошибок.

Пытаюсь ПОДПИСАНОЕ сообщение доподписать методом CoSign, выдает сообщение о том что "Сообщение не является подписаным". Но ведь если бы сообщение не являлось подписаным - метод Verify выдавал ту же самую ошибку...

Где я ошибаюсь?

З.Ы.
Public Function CoSign(ByVal Message As String) As String
Dim oSignedData As New CAPICOM.SignedData
Dim oStore As New CAPICOM.Store
Dim oSigner As New CAPICOM.Signer
oStore.Open(CAPICOM.CAPICOM_STORE_LOCATION.CAPICOM_CURRENT_USER_STORE, "My", CAPICOM.CAPICOM_STORE_OPEN_MODE.CAPICOM_STORE_OPEN_READ_ONLY)
oSigner.Certificate = oStore.Certificates.Item(mdlSetting.CertIndex)
oSignedData.Content = Message
Return oSignedData.CoSign(oSigner)
End Function
 
Ответы:
30.10.2007 11:03:31Kirill Sobolev
Мб у Вас параметр Message - это просто текст, а сама подпись detached?
31.10.2007 4:29:41Killua
Нет...

Подпись осуществляется
Public Function Sign(ByVal Message As String) As String
Dim oSignedData As New CAPICOM.SignedData
Dim oStore As New CAPICOM.Store
Dim oSigner As New CAPICOM.Signer
oStore.Open(CAPICOM.CAPICOM_STORE_LOCATION.CAPICOM_CURRENT_USER_STORE, "My", CAPICOM.CAPICOM_STORE_OPEN_MODE.CAPICOM_STORE_OPEN_READ_ONLY)
oSigner.Certificate = oStore.Certificates.Item(CertIndex)
oSignedData.Content = Message
Return oSignedData.Sign(oSigner, False)
End Function

c ключом bDetached в False. Я передаю только подписаное сообщение никак не трогая оригинальное и получаю оригинальное из подписаного методом Verify.