@@ -284,7 +284,7 @@ type PubServerHelloMsg struct {
284284
285285 // 1.3
286286 SupportedVersion uint16
287- ServerShare keyShare
287+ ServerShare KeyShare
288288 SelectedIdentityPresent bool
289289 SelectedIdentity uint16
290290 Cookie []byte // HelloRetryRequest extension
@@ -313,7 +313,7 @@ func (shm *PubServerHelloMsg) getPrivatePtr() *serverHelloMsg {
313313 secureRenegotiationSupported : shm .SecureRenegotiationSupported ,
314314 alpnProtocol : shm .AlpnProtocol ,
315315 supportedVersion : shm .SupportedVersion ,
316- serverShare : shm .ServerShare ,
316+ serverShare : shm .ServerShare . ToPrivate () ,
317317 selectedIdentityPresent : shm .SelectedIdentityPresent ,
318318 selectedIdentity : shm .SelectedIdentity ,
319319 cookie : shm .Cookie ,
@@ -343,7 +343,7 @@ func (shm *serverHelloMsg) getPublicPtr() *PubServerHelloMsg {
343343 SecureRenegotiationSupported : shm .secureRenegotiationSupported ,
344344 AlpnProtocol : shm .alpnProtocol ,
345345 SupportedVersion : shm .supportedVersion ,
346- ServerShare : shm .serverShare ,
346+ ServerShare : shm .serverShare . ToPublic () ,
347347 SelectedIdentityPresent : shm .selectedIdentityPresent ,
348348 SelectedIdentity : shm .selectedIdentity ,
349349 Cookie : shm .cookie ,
@@ -631,20 +631,28 @@ type KeyShare struct {
631631 Data []byte `json:"key_exchange,omitempty"` // optional
632632}
633633
634+ func (ks KeyShare ) ToPrivate () keyShare {
635+ return keyShare {group : ks .Group , data : ks .Data }
636+ }
637+
638+ func (ks keyShare ) ToPublic () KeyShare {
639+ return KeyShare {Group : ks .group , Data : ks .data }
640+ }
641+
634642type KeyShares []KeyShare
635643type keyShares []keyShare
636644
637645func (kss keyShares ) ToPublic () []KeyShare {
638646 var KSS []KeyShare
639647 for _ , ks := range kss {
640- KSS = append (KSS , KeyShare { Data : ks .data , Group : ks . group } )
648+ KSS = append (KSS , ks .ToPublic () )
641649 }
642650 return KSS
643651}
644652func (KSS KeyShares ) ToPrivate () []keyShare {
645653 var kss []keyShare
646654 for _ , KS := range KSS {
647- kss = append (kss , keyShare { data : KS .Data , group : KS . Group } )
655+ kss = append (kss , KS .ToPrivate () )
648656 }
649657 return kss
650658}
0 commit comments