2016-05-25 16 views
-1

Я реализую DTLS 1.2 и с использованием шифра TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256DTLS 1,2 Мастер-ключ вывод

Я создаю предварительно мастер секрет и главный секретный ключ, используя следующие шаги

1- Открытый поставщик алгоритм с использованием API BCryptOpenAlgorithmProvider

2- Генерация пары ключей с помощью API BCryptGenerateKeyPair

3- Чем экспорта открытого ключа с помощью API BCryptExportKey

4- Чем импорта другой стороной открытого ключа с помощью API BCryptImportKeyPair

5- После этого генерируют секретный дескриптор соглашения, используя свой секретный ключ и другие открытого открытого ключа с использованием API BCryptSecretAgreement

6- Наконец-то получите секретный ключ, используя API BCryptDerive Ключ

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

ответ

1

Я думаю, все зависит от параметров, которые вы передаете в BCryptDeriveKey. Вы должны указать псевдослучайную функцию TLS 1.2 в параметрах, которые основаны на SHA256, а не на MD5 и SHA1, как TLS 1.1/DTLS 1.0.