|
|
@@ -136,25 +136,25 @@ func (v *ClientSession) EncodeRequestBody(request *protocol.RequestHeader, write
|
|
|
authWriter = cryptionWriter
|
|
|
}
|
|
|
} else if request.Security.Is(protocol.SecurityType_AES128_GCM) {
|
|
|
- block, _ := aes.NewCipher(v.responseBodyKey)
|
|
|
+ block, _ := aes.NewCipher(v.requestBodyKey)
|
|
|
aead, _ := cipher.NewGCM(block)
|
|
|
|
|
|
auth := &crypto.AEADAuthenticator{
|
|
|
AEAD: aead,
|
|
|
NonceGenerator: &ChunkNonceGenerator{
|
|
|
- Nonce: append([]byte(nil), v.responseBodyIV...),
|
|
|
+ Nonce: append([]byte(nil), v.requestBodyIV...),
|
|
|
Size: aead.NonceSize(),
|
|
|
},
|
|
|
AdditionalDataGenerator: crypto.NoOpBytesGenerator{},
|
|
|
}
|
|
|
authWriter = crypto.NewAuthenticationWriter(auth, writer)
|
|
|
} else if request.Security.Is(protocol.SecurityType_CHACHA20_POLY1305) {
|
|
|
- aead, _ := chacha20poly1305.New(GenerateChacha20Poly1305Key(v.responseBodyKey))
|
|
|
+ aead, _ := chacha20poly1305.New(GenerateChacha20Poly1305Key(v.requestBodyKey))
|
|
|
|
|
|
auth := &crypto.AEADAuthenticator{
|
|
|
AEAD: aead,
|
|
|
NonceGenerator: &ChunkNonceGenerator{
|
|
|
- Nonce: append([]byte(nil), v.responseBodyIV...),
|
|
|
+ Nonce: append([]byte(nil), v.requestBodyIV...),
|
|
|
Size: aead.NonceSize(),
|
|
|
},
|
|
|
AdditionalDataGenerator: crypto.NoOpBytesGenerator{},
|
|
|
@@ -266,7 +266,7 @@ type ChunkNonceGenerator struct {
|
|
|
}
|
|
|
|
|
|
func (v *ChunkNonceGenerator) Next() []byte {
|
|
|
- serial.Uint16ToBytes(v.count, v.Nonce[:2])
|
|
|
+ serial.Uint16ToBytes(v.count, v.Nonce[:0])
|
|
|
v.count++
|
|
|
return v.Nonce[:v.Size]
|
|
|
}
|