Skip to content

Commit 26aaa7d

Browse files
miguelaranda0juergw
authored andcommitted
Project import generated by Copybara.
PiperOrigin-RevId: 945621565
1 parent 131c83b commit 26aaa7d

6 files changed

Lines changed: 60 additions & 29 deletions

File tree

README.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,9 @@ platform. We publish artifacts to Maven Central for the following platforms:
127127
Classifier | OS | Architecture
128128
-----------| ------- | ---------------- |
129129
linux-x86_64 | Linux | x86_64 (64-bit)
130+
linux-aarch_64 | Linux | aarch_64 (64-bit)
130131
osx-x86_64 | Mac | x86_64 (64-bit)
131-
windows-x86 | Windows | x86 (32-bit)
132+
osx-aarch_64 | Mac | aarch_64 (64-bit)
132133
windows-x86_64 | Windows | x86_64 (64-bit)
133134

134135
#### Maven
@@ -149,7 +150,7 @@ Use the [os-maven-plugin](https://github.com/trustin/os-maven-plugin) to add the
149150
<dependency>
150151
<groupId>org.conscrypt</groupId>
151152
<artifactId>conscrypt-openjdk</artifactId>
152-
<version>2.5.2</version>
153+
<version>2.6.0</version>
153154
<classifier>${os.detected.classifier}</classifier>
154155
</dependency>
155156
```
@@ -172,7 +173,7 @@ buildscript {
172173
apply plugin: "com.google.osdetector"
173174
174175
dependencies {
175-
compile 'org.conscrypt:conscrypt-openjdk:2.5.2:' + osdetector.classifier
176+
compile 'org.conscrypt:conscrypt-openjdk:2.6.0:' + osdetector.classifier
176177
}
177178
```
178179

@@ -190,14 +191,14 @@ To depend on the uber jar, simply use the `conscrypt-openjdk-uber` artifacts.
190191
<dependency>
191192
<groupId>org.conscrypt</groupId>
192193
<artifactId>conscrypt-openjdk-uber</artifactId>
193-
<version>2.5.2</version>
194+
<version>2.6.0</version>
194195
</dependency>
195196
```
196197

197198
##### Gradle
198199
```gradle
199200
dependencies {
200-
compile 'org.conscrypt:conscrypt-openjdk-uber:2.5.2'
201+
compile 'org.conscrypt:conscrypt-openjdk-uber:2.6.0'
201202
}
202203
```
203204

@@ -210,7 +211,7 @@ arm64-v8a.
210211

211212
```gradle
212213
dependencies {
213-
implementation 'org.conscrypt:conscrypt-android:2.5.2'
214+
implementation 'org.conscrypt:conscrypt-android:2.6.0'
214215
}
215216
```
216217

common/src/jni/main/cpp/conscrypt/native_crypto.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3850,12 +3850,12 @@ static jbyteArray NativeCrypto_EVP_DigestSign(JNIEnv* env, jclass, jobject evpMd
38503850
jint in_offset = inOffset;
38513851
jint in_size = inLength;
38523852

3853-
jbyte* array_elements = env->GetByteArrayElements(inJavaBytes, nullptr);
3854-
if (array_elements == nullptr) {
3853+
ScopedByteArrayRO array_elements(env, inJavaBytes);
3854+
if (array_elements.get() == nullptr) {
38553855
conscrypt::jniutil::throwOutOfMemory(env, "Unable to obtain elements of inBytes");
38563856
return nullptr;
38573857
}
3858-
const unsigned char* buf = reinterpret_cast<const unsigned char*>(array_elements);
3858+
const unsigned char* buf = reinterpret_cast<const unsigned char*>(array_elements.get());
38593859
const unsigned char* inStart = buf + in_offset;
38603860
size_t inLen = static_cast<size_t>(in_size);
38613861

common/src/test/java/org/conscrypt/java/security/KeyPairGeneratorTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,8 @@ private static List<Integer> getKeySizes(String algorithm) throws Exception {
162162
putKeySize("ML-DSA-87", -1);
163163
putKeySize("SLH-DSA-SHA2-128S", -1);
164164
putKeySize("XWING", -1);
165+
putKeySize("MLDSA44-Ed25519-SHA512", -1);
166+
putKeySize("MLDSA65-Ed25519-SHA512", -1);
165167
}
166168

167169
/** Elliptic Curve Crypto named curves that should be supported. */
@@ -284,8 +286,8 @@ private void test_Key(KeyPairGenerator kpg, Key k) throws Exception {
284286
// serializable, so just skip them.
285287
return;
286288
}
287-
if (expectedAlgorithm.equals("ML-DSA")) {
288-
// ML-DSA keys are not yet serializable, so just skip them.
289+
if (expectedAlgorithm.equals("ML-DSA") || expectedAlgorithm.startsWith("MLDSA")) {
290+
// ML-DSA and Composite ML-DSA keys are not yet serializable, so just skip them.
289291
return;
290292
}
291293
if (expectedAlgorithm.equals("ML-KEM")) {

common/src/test/java/org/conscrypt/javax/net/ssl/SSLSocketTest.java

Lines changed: 44 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1043,14 +1043,19 @@ public void handshake_p256IsSupportedByDefault() throws Exception {
10431043
s.get();
10441044
c.get();
10451045
// By default, BoringSSL uses X25519, P-256, and P-384.
1046+
// On newer versions of BoringSSL, X25519MLKEM768 is also a default.
10461047
if (sslParametersSupportsNamedGroups()) {
10471048
// If the client requests P-256, it will be chosen.
10481049
assertEquals("P-256", getCurveName(client));
10491050
assertEquals("P-256", getCurveName(server));
10501051
} else {
1051-
// Otherwise, X25519 gets priority.
1052-
assertEquals("X25519", getCurveName(client));
1053-
assertEquals("X25519", getCurveName(server));
1052+
// Otherwise, X25519 or X25519MLKEM768 gets priority.
1053+
String clientCurve = getCurveName(client);
1054+
String serverCurve = getCurveName(server);
1055+
assertTrue("Curve is not X25519 or X25519MLKEM768: " + clientCurve,
1056+
clientCurve.equals("X25519") || clientCurve.equals("X25519MLKEM768"));
1057+
assertTrue("Curve is not X25519 or X25519MLKEM768: " + serverCurve,
1058+
serverCurve.equals("X25519") || serverCurve.equals("X25519MLKEM768"));
10541059
}
10551060
client.close();
10561061
server.close();
@@ -1078,14 +1083,19 @@ public void handshake_p384IsSupportedByDefault() throws Exception {
10781083
s.get();
10791084
c.get();
10801085
// By default, BoringSSL uses X25519, P-256, and P-384.
1086+
// On newer versions of BoringSSL, X25519MLKEM768 is also a default.
10811087
if (sslParametersSupportsNamedGroups()) {
10821088
// If the client requests P-384, it will be chosen.
10831089
assertEquals("P-384", getCurveName(client));
10841090
assertEquals("P-384", getCurveName(server));
10851091
} else {
1086-
// Otherwise, X25519 gets priority.
1087-
assertEquals("X25519", getCurveName(client));
1088-
assertEquals("X25519", getCurveName(server));
1092+
// Otherwise, X25519 or X25519MLKEM768 gets priority.
1093+
String clientCurve = getCurveName(client);
1094+
String serverCurve = getCurveName(server);
1095+
assertTrue("Curve is not X25519 or X25519MLKEM768: " + clientCurve,
1096+
clientCurve.equals("X25519") || clientCurve.equals("X25519MLKEM768"));
1097+
assertTrue("Curve is not X25519 or X25519MLKEM768: " + serverCurve,
1098+
serverCurve.equals("X25519") || serverCurve.equals("X25519MLKEM768"));
10891099
}
10901100
client.close();
10911101
server.close();
@@ -1120,9 +1130,13 @@ public void handshake_setsNamedGroups_usesFirstServerNamedGroupThatClientSupport
11201130
assertEquals("P-384", getCurveName(client));
11211131
assertEquals("P-384", getCurveName(server));
11221132
} else {
1123-
// The defaults are used, and X25519 gets priority.
1124-
assertEquals("X25519", getCurveName(client));
1125-
assertEquals("X25519", getCurveName(server));
1133+
// The defaults are used, and X25519 or X25519MLKEM768 gets priority.
1134+
String clientCurve = getCurveName(client);
1135+
String serverCurve = getCurveName(server);
1136+
assertTrue("Curve is not X25519 or X25519MLKEM768: " + clientCurve,
1137+
clientCurve.equals("X25519") || clientCurve.equals("X25519MLKEM768"));
1138+
assertTrue("Curve is not X25519 or X25519MLKEM768: " + serverCurve,
1139+
serverCurve.equals("X25519") || serverCurve.equals("X25519MLKEM768"));
11261140
}
11271141
client.close();
11281142
server.close();
@@ -1179,9 +1193,13 @@ public void handshake_setsNamedGroupsBeforeAccept_usesFirstServerNamedGroupThatC
11791193
assertEquals("P-384", getCurveName(client));
11801194
assertEquals("P-384", getCurveName(server));
11811195
} else {
1182-
// The defaults are used, and X25519 gets priority.
1183-
assertEquals("X25519", getCurveName(client));
1184-
assertEquals("X25519", getCurveName(server));
1196+
// The defaults are used, X25519 or X25519MLKEM768 gets priority.
1197+
String clientCurve = getCurveName(client);
1198+
String serverCurve = getCurveName(server);
1199+
assertTrue("Curve is not X25519 or X25519MLKEM768: " + clientCurve,
1200+
clientCurve.equals("X25519") || clientCurve.equals("X25519MLKEM768"));
1201+
assertTrue("Curve is not X25519 or X25519MLKEM768: " + serverCurve,
1202+
serverCurve.equals("X25519") || serverCurve.equals("X25519MLKEM768"));
11851203
}
11861204
client.close();
11871205
server.close();
@@ -1214,9 +1232,13 @@ public void handshake_withX25519MLKEM768_works() throws Exception {
12141232
assertEquals("X25519MLKEM768", getCurveName(client));
12151233
assertEquals("X25519MLKEM768", getCurveName(server));
12161234
} else {
1217-
// The defaults are used, and X25519 gets priority.
1218-
assertEquals("X25519", getCurveName(client));
1219-
assertEquals("X25519", getCurveName(server));
1235+
// The defaults are used, and X25519 or X25519MLKEM768 gets priority.
1236+
String clientCurve = getCurveName(client);
1237+
String serverCurve = getCurveName(server);
1238+
assertTrue("Curve is not X25519 or X25519MLKEM768: " + clientCurve,
1239+
clientCurve.equals("X25519") || clientCurve.equals("X25519MLKEM768"));
1240+
assertTrue("Curve is not X25519 or X25519MLKEM768: " + serverCurve,
1241+
serverCurve.equals("X25519") || serverCurve.equals("X25519MLKEM768"));
12201242
}
12211243
client.close();
12221244
server.close();
@@ -1309,9 +1331,13 @@ public void handshake_namedGroupsDontIntersect_throwsException() throws Exceptio
13091331
} else {
13101332
s.get();
13111333
c.get();
1312-
// The defaults are used, and X25519 gets priority.
1313-
assertEquals("X25519", getCurveName(client));
1314-
assertEquals("X25519", getCurveName(server));
1334+
// The defaults are used, and X25519 or X25519MLKEM768 gets priority.
1335+
String clientCurve = getCurveName(client);
1336+
String serverCurve = getCurveName(server);
1337+
assertTrue("Curve is not X25519 or X25519MLKEM768: " + clientCurve,
1338+
clientCurve.equals("X25519") || clientCurve.equals("X25519MLKEM768"));
1339+
assertTrue("Curve is not X25519 or X25519MLKEM768: " + serverCurve,
1340+
serverCurve.equals("X25519") || serverCurve.equals("X25519MLKEM768"));
13151341
}
13161342
client.close();
13171343
server.close();

openjdk-uber/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ if (buildUberJar) {
113113
attributes ('BoringSSL-Version': boringSslVersion,
114114
'Automatic-Module-Name': 'org.conscrypt',
115115
'Bundle-SymbolicName': 'org.conscrypt',
116+
'Import-Package': '!android.util,*',
116117
'-exportcontents': 'org.conscrypt.*')
117118
}
118119

openjdk/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,7 @@ jar.manifest {
278278
attributes ('BoringSSL-Version' : boringSslVersion,
279279
'Automatic-Module-Name' : 'org.conscrypt',
280280
'Bundle-SymbolicName': 'org.conscrypt',
281+
'Import-Package': '!android.util,*',
281282
'-exportcontents': 'org.conscrypt.*')
282283
}
283284

0 commit comments

Comments
 (0)