mirror of
https://github.com/cwinfo/matterbridge.git
synced 2024-11-15 03:00:26 +00:00
40 lines
946 B
Go
40 lines
946 B
Go
|
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 {
|
||
|
//}
|