Create a publicly accessible RegistryConfiguration.get().

PiperOrigin-RevId: 613163976
Change-Id: I725137287fc1243bc458fffce36e9ade65d00707
diff --git a/BUILD.bazel b/BUILD.bazel
index 1a091a4..46ce48f 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -57,6 +57,7 @@
         "//src/main/java/com/google/crypto/tink:public_key_verify",
         "//src/main/java/com/google/crypto/tink:registry",
         "//src/main/java/com/google/crypto/tink:registry_cluster",
+        "//src/main/java/com/google/crypto/tink:registry_configuration",
         "//src/main/java/com/google/crypto/tink:secret_key_access",
         "//src/main/java/com/google/crypto/tink:streaming_aead",
         "//src/main/java/com/google/crypto/tink:tink_json_proto_keyset_format",
@@ -509,6 +510,7 @@
         "//src/main/java/com/google/crypto/tink:public_key_verify-android",
         "//src/main/java/com/google/crypto/tink:registry-android",
         "//src/main/java/com/google/crypto/tink:registry_cluster-android",
+        "//src/main/java/com/google/crypto/tink:registry_configuration-android",
         "//src/main/java/com/google/crypto/tink:secret_key_access-android",
         "//src/main/java/com/google/crypto/tink:streaming_aead-android",
         "//src/main/java/com/google/crypto/tink:tink_json_proto_keyset_format-android",
diff --git a/src/main/java/com/google/crypto/tink/BUILD.bazel b/src/main/java/com/google/crypto/tink/BUILD.bazel
index b175e4b..1e3414b 100644
--- a/src/main/java/com/google/crypto/tink/BUILD.bazel
+++ b/src/main/java/com/google/crypto/tink/BUILD.bazel
@@ -968,3 +968,21 @@
         "//src/main/java/com/google/crypto/tink/subtle:rsa_ssa_pkcs1_verify_jce",
     ],
 )
+
+android_library(
+    name = "registry_configuration-android",
+    srcs = ["RegistryConfiguration.java"],
+    deps = [
+        ":configuration-android",
+        "//src/main/java/com/google/crypto/tink/internal:registry_configuration-android",
+    ],
+)
+
+java_library(
+    name = "registry_configuration",
+    srcs = ["RegistryConfiguration.java"],
+    deps = [
+        ":configuration",
+        "//src/main/java/com/google/crypto/tink/internal:registry_configuration",
+    ],
+)
diff --git a/src/main/java/com/google/crypto/tink/RegistryConfiguration.java b/src/main/java/com/google/crypto/tink/RegistryConfiguration.java
new file mode 100644
index 0000000..feb4803
--- /dev/null
+++ b/src/main/java/com/google/crypto/tink/RegistryConfiguration.java
@@ -0,0 +1,31 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package com.google.crypto.tink;
+
+import java.security.GeneralSecurityException;
+
+/**
+ * RegistryConfiguration is a proxy Configuration that forwards all calls to the global Registry.
+ */
+public class RegistryConfiguration {
+  private RegistryConfiguration() {}
+
+  /** get returns a Configuration forwarding all calls to the global Registry. */
+  public static Configuration get() throws GeneralSecurityException {
+    return com.google.crypto.tink.internal.RegistryConfiguration.get();
+  }
+}
diff --git a/src/test/java/com/google/crypto/tink/BUILD.bazel b/src/test/java/com/google/crypto/tink/BUILD.bazel
index cd88407..22b5318 100644
--- a/src/test/java/com/google/crypto/tink/BUILD.bazel
+++ b/src/test/java/com/google/crypto/tink/BUILD.bazel
@@ -674,3 +674,15 @@
         "@maven//:junit_junit",
     ],
 )
+
+java_test(
+    name = "RegistryConfigurationTest",
+    size = "small",
+    srcs = ["RegistryConfigurationTest.java"],
+    deps = [
+        "//src/main/java/com/google/crypto/tink:registry_configuration",
+        "//src/main/java/com/google/crypto/tink/internal:registry_configuration",
+        "@maven//:com_google_truth_truth",
+        "@maven//:junit_junit",
+    ],
+)
diff --git a/src/test/java/com/google/crypto/tink/RegistryConfigurationTest.java b/src/test/java/com/google/crypto/tink/RegistryConfigurationTest.java
new file mode 100644
index 0000000..c7e6fee
--- /dev/null
+++ b/src/test/java/com/google/crypto/tink/RegistryConfigurationTest.java
@@ -0,0 +1,32 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package com.google.crypto.tink;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+@RunWith(JUnit4.class)
+public class RegistryConfigurationTest {
+  @Test
+  public void get_works() throws Exception {
+    assertThat(RegistryConfiguration.get())
+        .isInstanceOf(com.google.crypto.tink.internal.RegistryConfiguration.class);
+  }
+}