ການຕັ້ງຄ່າພຣັອກຊີສຳລັບຄຳຮ້ອງຂໍຕີມະຫຼັກເວລາດ້ວຍ Java 9+ JarSigner API
ໃຊ້ການຕັ້ງຄ່າ JarSigner ສາທາລະນະຂອງ Java 9+ ພ້ອມການກວດສອບຜູ້ຮ້ອງຂໍ, ໂຮສ ແລະ ພອດຂອງພຣັອກຊີ ແທນຄລາສຄຳສັ່ງພາຍໃນ.
System.setProperty("http.proxyHost", "proxy.example");
System.setProperty("http.proxyPort", "8080");
java.net.Authenticator.setDefault(new java.net.Authenticator() {
@Override
protected java.net.PasswordAuthentication getPasswordAuthentication() {
if (getRequestorType() == RequestorType.PROXY
&& "proxy.example".equalsIgnoreCase(getRequestingHost())
&& getRequestingPort() == 8080) {
return new java.net.PasswordAuthentication(
proxyUser, proxyPassword.toCharArray());
}
return null;
}
});
var signer = new jdk.security.jarsigner.JarSigner.Builder(signingEntry)
.tsa(java.net.URI.create("http://tsa.example/"))
.build();signingEntry ແມ່ນ KeyStore.PrivateKeyEntry ທີ່ມີຢູ່ແລ້ວ. ສະໜອງຄ່າບັນຊີພຣັອກຊີຈາກແຫຼ່ງຂໍ້ມູນຢືນຢັນຂອງແອັບພລິເຄຊັນ, ແລ້ວໃຊ້ຕົວລົງລາຍເຊັນນີ້ໃນຂະບວນການ ZipFile ແລະ ກະແສຜົນອອກປົກກະຕິຂອງມັນ.
ເງື່ອນໄຂປະເພດຜູ້ຮ້ອງຂໍຮັກສາການຢືນຢັນພຣັອກຊີ ແລະ ປາຍທາງແຍກກັນ, ປ້ອງກັນບໍ່ໃຫ້ສິ່ງທ້າທາຍຈາກປາຍທາງໄດ້ຮັບລະຫັດຜ່ານພຣັອກຊີ; ໂຮສ ແລະ ພອດຈຳກັດຕົວກາງ.
ຄຸນສົມບັດລະບົບ ແລະ Authenticator ຄ່າເລີ່ມຕົ້ນມີຜົນຕໍ່ JVM ທັງໝົດ. ກຳນົດອາຍຸຂອງມັນຕອນເລີ່ມລະບົບ ແທນການສະຫຼັບມັນອ້ອມວຽກທີ່ເຮັດພ້ອມກັນ.
API jdk.security.jarsigner ສາທາລະນະຫຼີກລ້ຽງ sun.security.tools.jarsigner.Main ແລະ ຮູບແບບ tools.jar ເກົ່າ. ຕົວຢ່າງໃຊ້ HTTP TSA; HTTPS TSA ກໍຕ້ອງການເສັ້ນທາງ HTTPS ຂອງມັນ ແລະ ນະໂຍບາຍກວດສອບ ແລະ ຢືນຢັນປົກກະຕິ.