Pre-master gizli uygularken mistmatched Diffie-Hellman anahtar deÄŸiÅŸimi
Gidelim kripto/tls paket içine DHE_DSS kullanmaya çalışıyorum. Ne yazık ki aynı olmak Benzer (Z) almak için görünmüyor olabilir, benim temel iş akışı
Sunucu Anahtar Değişimi İletisi Alırsınız
- P, G, Ys Ayıklayın
- Dijital imza sağlanan kullanarak doğrulayın
İstemci Anahtar Değişimi Mesaj Hazırlayın
- Müşterinin Xc oluşturun
- Yc (Yc = G^ % P Xc) OluÅŸturmak
- Z (Z = ^Xc % P Ys) OluÅŸturmak
- Yc geri gönder, şöyle doludur
ckx := make([]byte, len(yC) 2)
ckx[0] = byte(len(Yc)>>8)
ckx[1] = byte(len(Yc))
copy(ckx[2:], yBytes)
Gnutls-serv ile bu hata ayıklama olduğum zaman ancak iki PreMasterSecrets (Z) farklıdır. Döndürülen Yc işareti veya başka bir şekilde bu paketi belki de gerek var mı? RFC 5246 bir şey önermek göremiyorum.
&;-- -- ^ EDİT lt .
İşte benim değişiklik Eki:
CEVAP
İstemci anahtar değişimi içerir:
length (2 bytes) --> Y_C (in plain text)
Java uygulanan TLS var ve aynı yapıyı takip ediyorum ve gayet iyi çalışıyor benim için.
Döndürülen Yc imzalamam gerekiyor mu?
Hayırvaristemci oturum açmak için gerek kamu değeri DHdüz metin olarak aktarılır.
Bir pcap alıp aynı değerleri paket aktarımının olup olmadığını kontrol edebilirsiniz. Ayrıca eğer GNU TLS baskı için Y_C alınan logger varsa, Eğer doğru alınan veri kontrol edebilirsiniz.
Eğer durum hala farklı Pre-Master gizli aldıktan sonra sır nesil mantığı ile bazı sorun var gibi görünüyor.

Gizli Anahtar ayarlandı hazırlamak...
HTTP gizli özellikleri...
Sqlite çoklu sütunları birincil anahta...
Nasıl (anahtar, değer) AngularJs ng-re...
Birincil Anahtar ve Kümelenmiş Dizin i...