diff --git a/dss-spi/src/main/java/eu/europa/esig/dss/x509/KeyStoreCertificateSource.java b/dss-spi/src/main/java/eu/europa/esig/dss/x509/KeyStoreCertificateSource.java
index 249dddfa..da43406f 100644
--- a/dss-spi/src/main/java/eu/europa/esig/dss/x509/KeyStoreCertificateSource.java
+++ b/dss-spi/src/main/java/eu/europa/esig/dss/x509/KeyStoreCertificateSource.java
@@ -39,6 +39,7 @@ import org.slf4j.LoggerFactory;
 import eu.europa.esig.dss.DSSException;
 import eu.europa.esig.dss.DSSUtils;
 import eu.europa.esig.dss.utils.Utils;
+import java.util.Locale;
 
 /**
  * Implements a CertificateSource using a KeyStore.
@@ -256,7 +257,12 @@ public class KeyStoreCertificateSource extends CommonCertificateSource {
 	 */
 	public void addCertificateToKeyStore(CertificateToken certificateToken) {
 		try {
-			keyStore.setCertificateEntry(certificateToken.getDSSIdAsString(), certificateToken.getCertificate());
+			String alias = certificateToken.getDSSIdAsString();
+			if ("PKCS12".equals(keyStore.getType())) {
+				// workaround for https://bugs.openjdk.java.net/browse/JDK-8079616:
+				alias = alias.toLowerCase(Locale.ROOT);
+			}
+			keyStore.setCertificateEntry(alias, certificateToken.getCertificate());
 		} catch (GeneralSecurityException e) {
 			throw new DSSException("Unable to add certificate to the keystore", e);
 		}
