VB6 & Цифровая подпись в WinXP SP2

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

VB6 & Цифровая подпись в WinXP SP2

Сообщение Andrey Fedorov » 07.11.2005 (Пн) 15:36

А такой вопрос - при запуске exe-шника по пути типа \\10.10.10.10\App\My.Exe (или даже с диска смапированного по IP-адресу) WinXP SP2 кричит об отсутствии цифровой подписи.

Каким-нибудь образом можно отключить этот самый крик для данного файла или данного компьютера? Желательно програмно (пускай первый раз даже и закричит)... Или как создать цифровой сертификат для своего ехе-шника созданного на VB6 ?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 08.11.2005 (Вт) 17:04

2 FleX_2004: Есть такое дело. Выглядит вот так :(

Изображение
Вложения
1.JPG
1.JPG (86.31 Кб) Просмотров: 690

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 08.11.2005 (Вт) 17:12

Где-то в реестре это дело и хранится (имена файлов) и настраивается.
Только не нашел где, забыл уже за давностью.
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 08.11.2005 (Вт) 17:16

alibek писал(а):Где-то в реестре это дело и хранится (имена файлов) и настраивается.
Только не нашел где, забыл уже за давностью.


По хорошему - надо бы с цифровой подписью к exe-шнику разобраться. Только вот где бы это посмотреть на примере?...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 08.11.2005 (Вт) 17:22

CAPICOM.DLL у мелкософта надо взять

Код: Выделить всё
Public Function SignData(ByVal InputData As String, ByRef sSignedData As String) As Boolean
'<EhHeader>
On Error GoTo Err_debug
'</EhHeader>
Dim SignedData As CAPICOM.SignedData
Dim Signer As CAPICOM.Signer
Dim TimeAttribute As CAPICOM.Attribute

    SignData = False

    Set SignedData = New CAPICOM.SignedData
    Set Signer = New CAPICOM.Signer
    Set TimeAttribute = New CAPICOM.Attribute
   

    ' Set the data that we want to sign
    SignedData.Content = InputData
    Signer.Certificate = mCert.SelectCertificate(mMain.CertificateName)
           
    'Set the time in which we are applying the signature
    TimeAttribute.Name = CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME
    TimeAttribute.Value = VBA.Date
       
    Signer.AuthenticatedAttributes.Add TimeAttribute
           
    'Do the Sign operation
    sSignedData = SignedData.Sign(Signer, True)
   
'    mMain.LogInfo "Длина: " & Len(sSignedData)
   
    SignData = True
   
'<EhFooter>
lb_out:
    Set SignedData = Nothing
    Set Signer = Nothing
    Set TimeAttribute = Nothing
    Exit Function

Err_debug:
    If mMain.AsGUI Then
        MsgBox "Ошибка при подписи данных!" & vbCrLf & "Некорректные данные." & vbCrLf & Err.Number & ":" & Err.Description, vbCritical
    End If
    mMain.LogError "SignData"
    Resume lb_out
'</EhFooter>
End Function

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 08.11.2005 (Вт) 17:22

А откуда ты возьмешь нормальную цифровую подпись?
Lasciate ogni speranza, voi ch'entrate.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 08.11.2005 (Вт) 17:23

и вот эта ф-я еще

Код: Выделить всё
Public Function SelectCertificate(Optional ByVal CertName As String = "") As CAPICOM.ICertificate
'<EhHeader>
On Error GoTo Err_debug
'</EhHeader>
Dim MyStore As CAPICOM.Store
Dim i As Integer

    Set MyStore = New CAPICOM.Store
    MyStore.Open CAPICOM_CURRENT_USER_STORE, "My", CAPICOM_STORE_OPEN_READ_ONLY
    If CertName <> "" Then
        For i = 1 To MyStore.Certificates.Count
            If MyStore.Certificates.Item(i).GetInfo(CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME) = CertName Then
                Set SelectCertificate = MyStore.Certificates.Item(i)
                GoTo lb_out
            End If
        Next i
        mMain.LogInfo "SelectCertificate: Error - неверный сертификат=" & CertName
    Else
        Set SelectCertificate = MyStore.Certificates.Item(1)
    End If
   
'<EhFooter>
lb_out:
    Set MyStore = Nothing
    Exit Function

Err_debug:
    If mMain.AsGUI Then
        MsgBox Err.Number & ":" & Err.Description & vbCrLf & _
           "in SelectCertificate", vbCritical
    End If
    mMain.LogError "SelectCertificate"
    Resume lb_out
'</EhFooter>
End Function

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 08.11.2005 (Вт) 17:24

выдать ее надо на сервере сертификатов, его можно у себя поставить на сервере

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 08.11.2005 (Вт) 17:26

На самопальном сервере сертификатов?
Тогда система будет ругаться, что не удается проверить сертификат, т.к. нет доверия к корневому центру.
А нормальный сертификат от Verisign денег стоит.
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 08.11.2005 (Вт) 17:26

Konst_One писал(а):и вот эта ф-я еще


А все вместе в составе простенького проекта с описанием создания собственно сертивиката имеется?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 08.11.2005 (Вт) 17:29

где-то было, надо поискать

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 08.11.2005 (Вт) 17:47

проектик сложно отдать - он рабочий, сейчас попробую выдрать кое-что в виде модуля.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 08.11.2005 (Вт) 17:50

Konst_One писал(а):проектик сложно отдать - он рабочий, сейчас попробую выдрать кое-что в виде модуля.


Да весь-то, конечно, не надо - нужно именно примитив, чтобы понять...

И кратко описать как создается собственно сертификат...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 08.11.2005 (Вт) 17:59

куски проектика по подписи файликов и отправки на сервис, есть картинки по настройке сертификата для виртуальной директории www-сервера. картинки настройки установки самого сервера сертификатов и выдачи root-сертификата я пока не нашел.
Вложения
WebSecurity.rar
(67.42 Кб) Скачиваний: 75

Rodos
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 84
Зарегистрирован: 10.10.2005 (Пн) 22:07
Откуда: Москва

Сообщение Rodos » 08.11.2005 (Вт) 18:28

США готовят новый стандарт цифровой подписи?

Сегодня в США является стандартом алгоритм хеширования SHA-1. Реализация именно этого алгоритма используется для работы с цифровой подписью во многих приложениях, технологиях и подходах. Однако в этом году китайские ученые обнаружили некоторую слабость этого популярного алгоритма, поэтому перед американским правительством стоит нелегкий вопрос: менять ли основной алгоритм хеширования? Заметим, что изменение стандарта приведет к тому, что разработчики должны будут потратить деньги и время, чтобы улучшить свои продукты и реализовать новую версию стандарта. Вдобавок, если новый стандарт окажется слабым и не продержится хотя бы десяти лет, то придется принимать еще один, а это - снова удар по бизнесу.

Представитель NIST (National Institute of Standards and Technology - Национальный институт стандартов и технологий США) сообщил, что финальное решение придется принимать уже в самом ближайшем будущем, поэтому его организация поощряет обсуждение проблемы и привлечение к ней как можно большего числа специалистов.

И т.д.


Готовься, скоро с новыми подписями мучиться будешь?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 08.11.2005 (Вт) 18:36

вот кое-чо нашел
Вложения
Setup Sertificate Service.rar
(555.72 Кб) Скачиваний: 81

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 09.11.2005 (Ср) 12:48

Создл на сервере сертификат.
И что-то не могу обнаружить - где его добавить на моей клиентской машине в список сертификатов чтобы я мог им подписывать файлы?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 09.11.2005 (Ср) 13:22

Свойства обозревателя - Содержание - Сертификаты.
Наверняка есть где-нибудь в администрировании, но найти не удалось.
Lasciate ogni speranza, voi ch'entrate.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 09.11.2005 (Ср) 13:24

ты со своей клиентской машины должен зайти на свой сервер сертификатов (например: http://server/sertificatecenter...) и сделать запрос (Request) на выдачу тебе сертификата. Этот запрос на самом сервере сертификатов появится в папочке Requests. На него нужно встать и сделать ему команду Issue, после этого он попадет в папочку Issued. Клиент заново заходит на сервер сертификатов и получает свой выпущенный для него сертификат в виде файлика, а затем его инсталлирует в свое хранилище сертификатов.
Примерно такова процедура.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 108

    TopList