ОК - благодаря Майку , я смог заставить Винкрипта сгенерировать пару ключей Диффи-Хеллмана. Я выяснил, как экспортировать открытый ключ, и как импортировать открытый ключ другой стороны. Согласно документам, при импорте открытого ключа другой стороны, общий секрет был вычислен. Отлично.
Теперь мне нужно раскрыть этот общий секрет, но я не думаю, что это возможно. Простой вызов CryptExportKey
с типом PLAINTEXTKEYBLOB
не удастся, если я не вызову CryptSetKeyParam
, чтобы изменить идентификатор алгоритма с CALG_AGREEDKEY_ANY
на что-то ... еще. Но я не хочу что-то еще, я хочу общий секрет. API, однако, похоже, призван препятствовать этому.
Есть идеи? Должен отметить, что проблема в том, что я пишу только одну сторону реализации WiFi Protected Setup. Таким образом, протокол определен для меня, и другая сторона не дает мне HCRYPTKEY.