X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/8957a08453edb6a68ddae1a9bd01485032c4e2d8..a52f6a6657585fbad5afa4c57ce37752118317e9:/src/main/java/org/asamk/signal/manager/ServiceConfig.java diff --git a/src/main/java/org/asamk/signal/manager/ServiceConfig.java b/src/main/java/org/asamk/signal/manager/ServiceConfig.java index 353670ae..0ccd826a 100644 --- a/src/main/java/org/asamk/signal/manager/ServiceConfig.java +++ b/src/main/java/org/asamk/signal/manager/ServiceConfig.java @@ -1,6 +1,9 @@ package org.asamk.signal.manager; import org.signal.zkgroup.ServerPublicParams; +import org.whispersystems.libsignal.InvalidKeyException; +import org.whispersystems.libsignal.ecc.Curve; +import org.whispersystems.libsignal.ecc.ECPublicKey; import org.whispersystems.libsignal.util.guava.Optional; import org.whispersystems.signalservice.api.account.AccountAttributes; import org.whispersystems.signalservice.api.push.TrustStore; @@ -17,7 +20,6 @@ import java.security.KeyStore; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; import java.security.cert.CertificateException; -import java.util.Collections; import java.util.List; import java.util.Map; @@ -74,7 +76,7 @@ public class ServiceConfig { .header("User-Agent", userAgent) .build()); - final List interceptors = Collections.singletonList(userAgentInterceptor); + final List interceptors = List.of(userAgentInterceptor); return new SignalServiceConfiguration(new SignalServiceUrl[]{new SignalServiceUrl(URL, TRUST_STORE)}, makeSignalCdnUrlMapFor(new SignalCdnUrl[]{new SignalCdnUrl(CDN_URL, TRUST_STORE)}, @@ -106,6 +108,14 @@ public class ServiceConfig { } } + static ECPublicKey getUnidentifiedSenderTrustRoot() { + try { + return Curve.decodePoint(Base64.decode(UNIDENTIFIED_SENDER_TRUST_ROOT), 0); + } catch (InvalidKeyException | IOException e) { + throw new AssertionError(e); + } + } + private static Map makeSignalCdnUrlMapFor( SignalCdnUrl[] cdn0Urls, SignalCdnUrl[] cdn2Urls ) {