Отладка
Закончил сложную отладку winsock-взаимодействия. Всё.
Закончил сложную отладку winsock-взаимодействия. Всё.
Отправил
Das Ich
в
9:11 PM
0
раз прокомментировано
Пациент задаёт вопросы в духе "что бы такого сделать Яндексу, чтобы было лучше".
С 2001го года я не пользуюсь его услугами, попробовал было, но ввиду явной иррелевантности результатов моим ожиданиям - снова прекратил. Яндексу нужно закрыться. Яндекс - это бесполезная трата жизни многих молодых людей. Они думают, что делают дело, а на самом деле пережигают электричество и мамины бутерброды в тепло и метан.
Ребята. В том, чем вы занимаетесь, ваш номер - вечно шестой. И лучше не будет. Не морочьте людям голову, превратитесь в интернет-магазин.
Отправил
Das Ich
в
9:23 AM
0
раз прокомментировано
Есть лишних пару недель? Хочется острых ощущений? Закажи в Comodo сертификат. Время пролетит незаметно, и ты много узнаешь о том, что же на самом деле такое это - получение сертификата...
Надо их в Сколково, нанопрезиденту помогать деньги красть. Больше ни на что эти придурки не годны.
Отправил
Das Ich
в
10:51 AM
0
раз прокомментировано
Пять лет назад примерно в эти же дни мы купили свой первый сервер. На самом деле это была обычная персоналка, подключенная через целый каскад ИБП к сети и интернету, но мы называли её сервером. Вчера, после пяти лет непрерывной работы, у неё сгорела мать (чему предшествовало нарушение теплового контакта между вентилятором и процессором, как показало вскрытие).
Само собой, такие купить нигде невозможно уже, пришлось сделать upgrade. После которого Windows 2003 сообщил(а/о/и), что надо активироваться. Пикантность в том, что окно с требованием провести активацию показывается до того, как установились хоть какие-то драйвера на систему. В частности, недоступна сеть. Автоматическая активация невозможна. И впервые в жизни я воспользовался средством "активировать по телефону". Более бессмысленно я ещё никогда не проводит 18.5 минут жизни.
Во-первых, надо ввести длинный цифровой код, не ошибившись ни в одной цифре. Во-вторых, механическая женщина диктует код подтверждения, произнося цифры тихо и с разной скоростью. В-третьих, нет никакой диагностики того, что я ввёл все цифры правильно (особенно касается первого пункта) пока не столкнусь с сообщением Invalid Key.
Одна итерация активации по телефону у меня занимала 6'10". В конце-концов, систему я активировал, сервер оживил и сейчас поеду его водружать на площадку. Но осадок от чьей-то глупости остался.
Отправил
Das Ich
в
8:04 AM
0
раз прокомментировано
Служба MSDN Online Concierge доступна 24 часа в сутки 7 дней в неделю. Служба не работает в праздничные дни.
Отправил
Das Ich
в
10:57 AM
0
раз прокомментировано
Пока не пойму, почему, но тем не менее. Вот фрагмент кода некоего компонента.
protected override void OnPreRender(EventArgs E)
{
...
Random rnd = new Random((int)(DateTime.Now.Ticks % Int32.MaxValue));
Response.Write(rnd.Next(10000) + "</br>");
...
на странице 2 таких компонента. Логично предположить, что при вызове rnd каждая переменная будет инициализирована своим значением тиков, соответствующим моменту выполнения кода инициализации. MSDN говорит о том, что a single tick represents one hundred nanoseconds or one ten-millionth of a second. There are 10,000 ticks in a millisecond.
Отправил
Das Ich
в
1:12 PM
0
раз прокомментировано
Стоило не завершить строку \n, как чтение содержания элемента начало приводить к проглатыванию следующего тэга. Интересно.
Ещё интересней влияние размера буфера обработки запросов в IIS. Мы пишем в скрытое поле большую криптостроку и её наличие приводит к показу в ответ пустой строки. Оказывается, к этому имеет отношение слишком малое значение свойства uploadreadaheadsize. Увеличили до 100 КБ и дело пошло. Кстати, uploadreadaheadsize измеряется в байтах, а не в килобайтах, как ошибочно указано в документации.
Отправил
Das Ich
в
1:46 PM
0
раз прокомментировано
Метки: работа
Я откровенно не понимаю. Не понимаю, в чём тут технологический вызов и ещё больше не понимаю, в чём тут интерес для конечного пользователя. Мошенничество и тупость.
Отправил
Das Ich
в
3:19 PM
0
раз прокомментировано
Метки: всякое
Как и запланировано, именно сегодня выпущена версия с поддержкой ЭЦП. Горжусь!
Отправил
Das Ich
в
9:40 PM
0
раз прокомментировано
Метки: работа
Может вызываться недействительным сертификатом пользователя, либо таким сертификатом, который подписан ключом, сертификат которого отсутствует в Trusted Root.
Разумеется, в том случае, если клиент WCF аутентифицируется при помощи сертификатов
Отправил
Das Ich
в
2:53 PM
0
раз прокомментировано
Метки: работа
Потратил несколько дней на обзор ситуации с подписанием документов в браузере. Что удалось выяснить...
Простое подписание документа при помощи DSIG в Windows (IE) невозможно. Для этого необходимо либо использовать нерекомендованную версию MSXML (5.0), либо самостоятельно заниматься такими малоприятными вещами, как покусочное формирование XML Digital Signature. Бесплатного COM-компонента или библиотеки для выполнения этой работы не существует. Это с одной стороны. С другой, есть .NET и XSign, но требования к текущей задачи не позволяют рассчитывать на наличие у пользователя хотя бы .NET 1.1, не говоря уже об XSign.
Хоть и очень хотелось, но от XMLDSIG пришлось отказаться. Вместо этого принято решение использовать цифровые подписи PKCS #7. На клиенте (в Internet Explorer) документ подписывается и в составе скрытого поля отправляется на сервер, там подпись проверяется и если всё в порядке, то и ... всё.
Если кратко. На клиенте (CAPICOM + C++)
IStorePtr store(__uuidof(Store));
HRESULT hr = store->Open(CAPICOM_CURRENT_USER_STORE, _T("My"), CAPICOM_STORE_OPEN_READ_ONLY);
if (FAILED(hr))
return hr;
ICertificates2Ptr ptr(store->Certificates);
ICertificates2Ptr selected = ptr->Select(_T(""), _T(""), VARIANT_FALSE);
ICertificate2Ptr p(selected->Item[1]);
ISignerPtr signer(__uuidof(CAPICOM::Signer));
signer->PutCertificate(CComQIPtr(p));
ISignedDataPtr data(__uuidof(SignedData));
data->put_Content(*m_Xml);
bstr_t signature = data->Sign(signer, FALSE, CAPICOM_ENCODE_BASE64);
m_Signature = new CComBSTR(signature.GetBSTR());
byte[] data = Convert.FromBase64String(signature);
SignedCms cms = new SignedCms();
cms.Decode(signed);
Отправил
Das Ich
в
2:27 PM
0
раз прокомментировано
Метки: программирование, работа, windows
1. План выпуска версий
2. Отчёт о состоянии работ
3. Функциональная спецификация
4. Техническая спецификация
5. Перечень инцидентов на ближайший релиз
Отправил
Das Ich
в
6:59 PM
0
раз прокомментировано
Метки: работа
"Просим Вас отнестись с пониманием к тому, что низкий уровень цен не позволяет нам принимать к оплате пластиковые карты."
Думаете, семечками торгуют? Нет. Компьютерами.
Отправил
Das Ich
в
3:33 PM
0
раз прокомментировано
Метки: всякое