mirror of
https://github.com/cwinfo/matterbridge.git
synced 2025-06-27 23:49:25 +00:00
Add dependencies/vendor (whatsapp)
This commit is contained in:
47
vendor/go.mau.fi/libsignal/keys/identity/IdentityKey.go
vendored
Normal file
47
vendor/go.mau.fi/libsignal/keys/identity/IdentityKey.go
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
// Package identity provides identity keys used for verifying the identity
|
||||
// of a signal user.
|
||||
package identity
|
||||
|
||||
import (
|
||||
"encoding/hex"
|
||||
"go.mau.fi/libsignal/ecc"
|
||||
)
|
||||
|
||||
// NewKey generates a new IdentityKey from an ECPublicKey
|
||||
func NewKey(publicKey ecc.ECPublicKeyable) *Key {
|
||||
identityKey := Key{
|
||||
publicKey: publicKey,
|
||||
}
|
||||
|
||||
return &identityKey
|
||||
}
|
||||
|
||||
// NewKeyFromBytes generates a new IdentityKey from public key bytes
|
||||
func NewKeyFromBytes(publicKey [32]byte, offset int) Key {
|
||||
identityKey := Key{
|
||||
publicKey: ecc.NewDjbECPublicKey(publicKey),
|
||||
}
|
||||
|
||||
return identityKey
|
||||
}
|
||||
|
||||
// Key is a structure for representing an identity key. This same structure can
|
||||
// be used for verifying recipient's identity key or storing our own identity key.
|
||||
type Key struct {
|
||||
publicKey ecc.ECPublicKeyable
|
||||
}
|
||||
|
||||
// Fingerprint gets the string fingerprint representation of the public key.
|
||||
func (k *Key) Fingerprint() string {
|
||||
return hex.EncodeToString(k.publicKey.Serialize())
|
||||
}
|
||||
|
||||
// PublicKey returns the EC Public key of the identity key
|
||||
func (k *Key) PublicKey() ecc.ECPublicKeyable {
|
||||
return k.publicKey
|
||||
}
|
||||
|
||||
// Serialize returns the serialized version of the key
|
||||
func (k *Key) Serialize() []byte {
|
||||
return k.publicKey.Serialize()
|
||||
}
|
39
vendor/go.mau.fi/libsignal/keys/identity/IdentityKeyPair.go
vendored
Normal file
39
vendor/go.mau.fi/libsignal/keys/identity/IdentityKeyPair.go
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
package identity
|
||||
|
||||
import (
|
||||
"go.mau.fi/libsignal/ecc"
|
||||
)
|
||||
|
||||
// NewKeyPair returns a new identity key with the given public and private keys.
|
||||
func NewKeyPair(publicKey *Key, privateKey ecc.ECPrivateKeyable) *KeyPair {
|
||||
keyPair := KeyPair{
|
||||
publicKey: publicKey,
|
||||
privateKey: privateKey,
|
||||
}
|
||||
|
||||
return &keyPair
|
||||
}
|
||||
|
||||
// NewKeyPairFromBytes returns a new identity key from the given serialized bytes.
|
||||
//func NewKeyPairFromBytes(serialized []byte) KeyPair {
|
||||
//}
|
||||
|
||||
// KeyPair is a holder for public and private identity key pair.
|
||||
type KeyPair struct {
|
||||
publicKey *Key
|
||||
privateKey ecc.ECPrivateKeyable
|
||||
}
|
||||
|
||||
// PublicKey returns the identity key's public key.
|
||||
func (k *KeyPair) PublicKey() *Key {
|
||||
return k.publicKey
|
||||
}
|
||||
|
||||
// PrivateKey returns the identity key's private key.
|
||||
func (k *KeyPair) PrivateKey() ecc.ECPrivateKeyable {
|
||||
return k.privateKey
|
||||
}
|
||||
|
||||
// Serialize returns a byte array that represents the keypair.
|
||||
//func (k *KeyPair) Serialize() []byte {
|
||||
//}
|
Reference in New Issue
Block a user