forked from aporeto-inc/trireme-lib
/
psksecrets.go
41 lines (33 loc) · 999 Bytes
/
psksecrets.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package tokens
// PSKSecrets holds the shared key
type PSKSecrets struct {
SharedKey []byte
}
// NewPSKSecrets creates new PSK Secrets
func NewPSKSecrets(psk []byte) *PSKSecrets {
return &PSKSecrets{SharedKey: psk}
}
// Type implements the Secrets interface
func (p *PSKSecrets) Type() SecretsType {
return PSKType
}
// EncodingKey returns the pre-shared key
func (p *PSKSecrets) EncodingKey() interface{} {
return p.SharedKey
}
// DecodingKey returns the preshared key
func (p *PSKSecrets) DecodingKey(server string, ackCert, prevCert interface{}) (interface{}, error) {
return p.SharedKey, nil
}
// TransmittedKey returns nil in the case of pre-shared key
func (p *PSKSecrets) TransmittedKey() []byte {
return nil
}
// VerifyPublicKey always returns nil for pre-shared secrets
func (p *PSKSecrets) VerifyPublicKey(pkey []byte) (interface{}, error) {
return nil, nil
}
// AckSize returns the expected size of ack packets
func (p *PSKSecrets) AckSize() uint32 {
return uint32(332)
}