diff --git a/srcpkgs/openjdk-common/INSTALL b/srcpkgs/openjdk-common/INSTALL
index e0e155cc208..89eb436d74b 100644
--- a/srcpkgs/openjdk-common/INSTALL
+++ b/srcpkgs/openjdk-common/INSTALL
@@ -6,4 +6,14 @@ pre)
 		rm "./etc/profile.d/openjdk.sh"
 	fi
 	;;
+post)
+	if [ ! -f ./etc/ssl/certs/java/cacerts ]; then
+		rm -rf ./etc/ssl/certs/java/cacerts
+		mkdir -p ./etc/ssl/certs/java
+		trust extract \
+			--overwrite --filter=ca-anchors \
+			--format=java-cacerts \
+			--purpose server-auth \
+			./etc/ssl/certs/java/cacerts
+	fi
 esac
diff --git a/srcpkgs/openjdk-common/REMOVE b/srcpkgs/openjdk-common/REMOVE
new file mode 100644
index 00000000000..d25538691ea
--- /dev/null
+++ b/srcpkgs/openjdk-common/REMOVE
@@ -0,0 +1,6 @@
+#!/bin/sh
+case "$ACTION" in
+post)
+	rm -f ./etc/ssl/certs/java/cacerts
+	rmdir ./etc/ssl/certs/java >/dev/null
+esac
diff --git a/srcpkgs/openjdk-common/template b/srcpkgs/openjdk-common/template
index 8b0748efaad..118e59f0b6b 100644
--- a/srcpkgs/openjdk-common/template
+++ b/srcpkgs/openjdk-common/template
@@ -1,7 +1,8 @@
 # Template file for 'openjdk-common'
 pkgname=openjdk-common
-version=2
+version=3
 revision=1
+depends="p11-kit"
 short_desc="Common files for OpenJDK packages"
 maintainer="classabbyamp <void@placeviolette.net>"
 license="Public Domain"
@@ -10,4 +11,13 @@ homepage="https://www.voidlinux.org"
 do_install() {
 	vinstall "${FILESDIR}"/profile.sh 644 /etc/profile.d jdk.sh
 	vbin "${FILESDIR}"/java.sh java
+	cat >ca-hooks <<-'_EOF_'
+	#!/bin/sh
+	mkdir -p ./java
+	trust extract \
+	    --overwrite --filter=ca-anchors --format=java-cacerts \
+	    --purpose server-auth \
+	    ./java/cacerts
+	_EOF_
+	vinstall ca-hooks 755 etc/ca-certificates/update.d generate-java-keystore
 }