summaryrefslogtreecommitdiffstats
path: root/vendor/go.mau.fi/libsignal/state/store/IdentityKeyStore.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2022-01-31 00:27:37 +0100
committerWim <wim@42.be>2022-03-20 14:57:48 +0100
commite3cafeaf9292f67459ff1d186f68283bfaedf2ae (patch)
treeb69c39620aa91dba695b3b935c6651c0fb37ce75 /vendor/go.mau.fi/libsignal/state/store/IdentityKeyStore.go
parente7b193788a56ee7cdb02a87a9db0ad6724ef66d5 (diff)
downloadmatterbridge-msglm-e3cafeaf9292f67459ff1d186f68283bfaedf2ae.tar.gz
matterbridge-msglm-e3cafeaf9292f67459ff1d186f68283bfaedf2ae.tar.bz2
matterbridge-msglm-e3cafeaf9292f67459ff1d186f68283bfaedf2ae.zip
Add dependencies/vendor (whatsapp)
Diffstat (limited to 'vendor/go.mau.fi/libsignal/state/store/IdentityKeyStore.go')
-rw-r--r--vendor/go.mau.fi/libsignal/state/store/IdentityKeyStore.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/vendor/go.mau.fi/libsignal/state/store/IdentityKeyStore.go b/vendor/go.mau.fi/libsignal/state/store/IdentityKeyStore.go
new file mode 100644
index 00000000..05ad8d1e
--- /dev/null
+++ b/vendor/go.mau.fi/libsignal/state/store/IdentityKeyStore.go
@@ -0,0 +1,29 @@
+package store
+
+import (
+ "go.mau.fi/libsignal/keys/identity"
+ "go.mau.fi/libsignal/protocol"
+)
+
+// IdentityKey provides an interface to identity information.
+type IdentityKey interface {
+ // Get the local client's identity key pair.
+ GetIdentityKeyPair() *identity.KeyPair
+
+ // Return the local client's registration ID.
+ //
+ // Clients should maintain a registration ID, a random number between 1 and 16380
+ // that's generated once at install time.
+ GetLocalRegistrationId() uint32
+
+ // Save a remote client's identity key in our identity store.
+ SaveIdentity(address *protocol.SignalAddress, identityKey *identity.Key)
+
+ // Verify a remote client's identity key.
+ //
+ // Determine whether a remote client's identity is trusted. Trust is based on
+ // 'trust on first use'. This means that an identity key is considered 'trusted'
+ // if there is no entry for the recipient in the local store, or if it matches the
+ // saved key for a recipient in the local store.
+ IsTrustedIdentity(address *protocol.SignalAddress, identityKey *identity.Key) bool
+}