diff --git a/openssl/build.gradle.kts b/openssl/build.gradle.kts
index aa5ac88..d4b0c46 100644
--- a/openssl/build.gradle.kts
+++ b/openssl/build.gradle.kts
@@ -2,25 +2,7 @@
 import com.android.ndkports.AndroidExecutableTestTask
 import com.android.ndkports.CMakeCompatibleVersion
 
-fun openSslVersionToCMakeVersion(openSslVersion: String): CMakeCompatibleVersion {
-    val (major, minor, microAndLetter) = openSslVersion.split(".")
-    val letter = microAndLetter.last()
-    val micro = microAndLetter.substringBefore(letter)
-    val tweak = if (letter.isDigit()) {
-        // 1.1.1 is 1.1.1.0.
-        0
-    } else {
-        // 1.1.1a is 1.1.1.1.
-        letter.toInt() - 'a'.toInt() + 1
-    }
-
-    return CMakeCompatibleVersion(
-        major.toInt(), minor.toInt(), micro.toInt(), tweak
-    )
-}
-
-val portVersion = "1.1.1s"
-val prefabVersion = openSslVersionToCMakeVersion(portVersion)
+val portVersion = "3.2.1"
 
 group = "com.android.ndk.thirdparty"
 version = "$portVersion${rootProject.extra.get("snapshotSuffix")}"
@@ -71,7 +53,9 @@
 }
 
 tasks.prefabPackage {
-    version.set(prefabVersion)
+    version.set(CMakeCompatibleVersion.parse(portVersion))
+
+    licensePath.set("LICENSE.txt")
 
     modules {
         create("crypto")
diff --git a/openssl/src.tar.gz b/openssl/src.tar.gz
index 9f41c50..4c1350d 100644
--- a/openssl/src.tar.gz
+++ b/openssl/src.tar.gz
Binary files differ
