これは、なにをしたくて書いたもの?
時々ピンポイントで書いていたのですが、Javaのプロバイダーに関する情報を確認する時に迷子になることが
多かったので単独でメモしておこうかなと。
過去のエントリーはこのあたりですね。
SecureRandomのアルゴリズムなどに関する情報をちゃんと見る - CLOVER🍀
MessageDigestに"SHA"とか、Cipherに"AES"とだけ指定した場合、どうなるの? - CLOVER🍀
環境
今回の環境はこちら。
$ java --version openjdk 25.0.1 2025-10-21 OpenJDK Runtime Environment (build 25.0.1+8-Ubuntu-124.04) OpenJDK 64-Bit Server VM (build 25.0.1+8-Ubuntu-124.04, mixed mode, sharing) $ mvn --version Apache Maven 3.9.12 (848fbb4bf2d427b72bdb2471c22fced7ebd9a7a1) Maven home: $HOME/.sdkman/candidates/maven/current Java version: 25.0.1, vendor: Ubuntu, runtime: /usr/lib/jvm/java-25-openjdk-amd64 Default locale: ja_JP, platform encoding: UTF-8 OS name: "linux", version: "6.8.0-90-generic", arch: "amd64", family: "unix"
OSはUbuntu Linux 24.04 LTSです。
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.04.3 LTS Release: 24.04 Codename: noble $ uname -srvmpio Linux 6.8.0-90-generic #91-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 18 14:14:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
準備
簡単に動作確認するところがあるので、それはテストコードで。
<properties> <maven.compiler.release>25</maven.compiler.release> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> <dependencies> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>6.0.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <version>3.27.6</version> <scope>test</scope> </dependency> </dependencies>
プラットフォームで使えるプロバイダーを確認する
まずはプラットフォームで使えるプロバイダーを確認してみます。
正確には「暗号化サービス・プロバイダー」ですね。
src/main/java/org/littlewings/PrintSecurityProviders.java
package org.littlewings; import java.security.Provider; import java.security.Security; import java.util.Map; import java.util.TreeMap; public class PrintSecurityProviders { void main(String... args) { for (Provider provider : Security.getProviders()) { IO.println("=================================================================================================================================="); System.out.printf("Provider: %s%n", provider); IO.println(); } } }
こちらを実行するとこうなります。
================================================================================================================================== Provider: SUN version 25 ================================================================================================================================== Provider: SunRsaSign version 25 ================================================================================================================================== Provider: SunEC version 25 ================================================================================================================================== Provider: SunJSSE version 25 ================================================================================================================================== Provider: SunJCE version 25 ================================================================================================================================== Provider: SunJGSS version 25 ================================================================================================================================== Provider: SunSASL version 25 ================================================================================================================================== Provider: XMLDSig version 25 ================================================================================================================================== Provider: SunPCSC version 25 ================================================================================================================================== Provider: JdkLDAP version 25 ================================================================================================================================== Provider: JdkSASL version 25 ================================================================================================================================== Provider: SunPKCS11 version 25
さらに各プロバイダーの情報も出力してみましょう。
public class PrintSecurityProviders { void main(String... args) { for (Provider provider : Security.getProviders()) { IO.println("=================================================================================================================================="); System.out.printf("Provider: %s%n", provider); for (Map.Entry<Object, Object> entry : new TreeMap<>(provider).entrySet()) { System.out.printf(" %s = %s%n", entry.getKey(), entry.getValue()); } IO.println(); } } }
結果。
================================================================================================================================== Provider: SUN version 25 Alg.Alias.AlgorithmParameterGenerator.1.2.840.10040.4.1 = DSA Alg.Alias.AlgorithmParameterGenerator.1.3.14.3.2.12 = DSA Alg.Alias.AlgorithmParameterGenerator.OID.1.2.840.10040.4.1 = DSA 〜省略〜 Signature.SHA384withDSA = sun.security.provider.DSA$SHA384withDSA Signature.SHA384withDSA ImplementedIn = Software Signature.SHA384withDSA KeySize = 3072 Signature.SHA384withDSA SupportedKeyClasses = java.security.interfaces.DSAPublicKey|java.security.interfaces.DSAPrivateKey Signature.SHA384withDSAinP1363Format = sun.security.provider.DSA$SHA384withDSAinP1363Format Signature.SHA512withDSA = sun.security.provider.DSA$SHA512withDSA Signature.SHA512withDSA ImplementedIn = Software Signature.SHA512withDSA KeySize = 3072 Signature.SHA512withDSA SupportedKeyClasses = java.security.interfaces.DSAPublicKey|java.security.interfaces.DSAPrivateKey Signature.SHA512withDSAinP1363Format = sun.security.provider.DSA$SHA512withDSAinP1363Format ================================================================================================================================== Provider: SunRsaSign version 25 Alg.Alias.AlgorithmParameters.1.2.840.113549.1.1.10 = RSASSA-PSS Alg.Alias.AlgorithmParameters.OID.1.2.840.113549.1.1.10 = RSASSA-PSS Alg.Alias.AlgorithmParameters.PSS = RSASSA-PSS 〜省略〜 java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey Signature.SHA1withRSA = sun.security.rsa.RSASignature$SHA1withRSA Signature.SHA1withRSA SupportedKeyClasses = java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey Signature.SHA224withRSA = sun.security.rsa.RSASignature$SHA224withRSA Signature.SHA224withRSA SupportedKeyClasses = java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey Signature.SHA256withRSA = sun.security.rsa.RSASignature$SHA256withRSA Signature.SHA256withRSA SupportedKeyClasses = java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey Signature.SHA3-224withRSA = sun.security.rsa.RSASignature$SHA3_224withRSA Signature.SHA3-224withRSA SupportedKeyClasses = java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey Signature.SHA3-256withRSA = sun.security.rsa.RSASignature$SHA3_256withRSA Signature.SHA3-256withRSA SupportedKeyClasses = java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey Signature.SHA3-384withRSA = sun.security.rsa.RSASignature$SHA3_384withRSA Signature.SHA3-384withRSA SupportedKeyClasses = java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey Signature.SHA3-512withRSA = sun.security.rsa.RSASignature$SHA3_512withRSA Signature.SHA3-512withRSA SupportedKeyClasses = java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey Signature.SHA384withRSA = sun.security.rsa.RSASignature$SHA384withRSA Signature.SHA384withRSA SupportedKeyClasses = java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey Signature.SHA512/224withRSA = sun.security.rsa.RSASignature$SHA512_224withRSA Signature.SHA512/224withRSA SupportedKeyClasses = java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey Signature.SHA512/256withRSA = sun.security.rsa.RSASignature$SHA512_256withRSA Signature.SHA512/256withRSA SupportedKeyClasses = java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey Signature.SHA512withRSA = sun.security.rsa.RSASignature$SHA512withRSA Signature.SHA512withRSA SupportedKeyClasses = java.security.interfaces.RSAPublicKey|java.security.interfaces.RSAPrivateKey ================================================================================================================================== Provider: SunEC version 25 Alg.Alias.AlgorithmParameters.1.2.840.10045.2.1 = EC Alg.Alias.AlgorithmParameters.EllipticCurve = EC Alg.Alias.AlgorithmParameters.OID.1.2.840.10045.2.1 = EC Alg.Alias.KeyAgreement.1.3.101.110 = X25519 Alg.Alias.KeyAgreement.1.3.101.111 = X448 Alg.Alias.KeyAgreement.OID.1.3.101.110 = X25519 Alg.Alias.KeyAgreement.OID.1.3.101.111 = X448 〜省略〜 Signature.SHA3-512withECDSA SupportedKeyClasses = java.security.interfaces.ECPublicKey|java.security.interfaces.ECPrivateKey Signature.SHA3-512withECDSAinP1363Format = sun.security.ec.ECDSASignature$SHA3_512inP1363Format Signature.SHA384withECDSA = sun.security.ec.ECDSASignature$SHA384 Signature.SHA384withECDSA ImplementedIn = Software Signature.SHA384withECDSA KeySize = 256 Signature.SHA384withECDSA SupportedKeyClasses = java.security.interfaces.ECPublicKey|java.security.interfaces.ECPrivateKey Signature.SHA384withECDSAinP1363Format = sun.security.ec.ECDSASignature$SHA384inP1363Format Signature.SHA512withECDSA = sun.security.ec.ECDSASignature$SHA512 Signature.SHA512withECDSA ImplementedIn = Software Signature.SHA512withECDSA KeySize = 256 Signature.SHA512withECDSA SupportedKeyClasses = java.security.interfaces.ECPublicKey|java.security.interfaces.ECPrivateKey Signature.SHA512withECDSAinP1363Format = sun.security.ec.ECDSASignature$SHA512inP1363Format ================================================================================================================================== Provider: SunJSSE version 25 Alg.Alias.KeyManagerFactory.PKIX = NewSunX509 Alg.Alias.SSLContext.SSL = TLS Alg.Alias.SSLContext.SSLv3 = TLSv1 Alg.Alias.TrustManagerFactory.SunPKIX = PKIX Alg.Alias.TrustManagerFactory.X.509 = PKIX Alg.Alias.TrustManagerFactory.X509 = PKIX KeyManagerFactory.NewSunX509 = sun.security.ssl.KeyManagerFactoryImpl$X509 KeyManagerFactory.SunX509 = sun.security.ssl.KeyManagerFactoryImpl$SunX509 KeyStore.PKCS12 = sun.security.pkcs12.PKCS12KeyStore Provider.id className = sun.security.ssl.SunJSSE Provider.id info = Sun JSSE provider(PKCS12, SunX509/PKIX key/trust factories, SSLv3/TLSv1/TLSv1.1/TLSv1.2/TLSv1.3/DTLSv1.0/DTLSv1.2) Provider.id name = SunJSSE Provider.id version = 25 SSLContext.DTLS = sun.security.ssl.SSLContextImpl$DTLSContext SSLContext.DTLSv1.0 = sun.security.ssl.SSLContextImpl$DTLS10Context SSLContext.DTLSv1.2 = sun.security.ssl.SSLContextImpl$DTLS12Context SSLContext.Default = sun.security.ssl.SSLContextImpl$DefaultSSLContext SSLContext.TLS = sun.security.ssl.SSLContextImpl$TLSContext SSLContext.TLSv1 = sun.security.ssl.SSLContextImpl$TLS10Context SSLContext.TLSv1.1 = sun.security.ssl.SSLContextImpl$TLS11Context SSLContext.TLSv1.2 = sun.security.ssl.SSLContextImpl$TLS12Context SSLContext.TLSv1.3 = sun.security.ssl.SSLContextImpl$TLS13Context Signature.MD5andSHA1withRSA = sun.security.ssl.RSASignature TrustManagerFactory.PKIX = sun.security.ssl.TrustManagerFactoryImpl$PKIXFactory TrustManagerFactory.SunX509 = sun.security.ssl.TrustManagerFactoryImpl$SimpleFactory ================================================================================================================================== Provider: SunJCE version 25 Alg.Alias.AlgorithmParameterGenerator.1.2.840.113549.1.3.1 = DiffieHellman Alg.Alias.AlgorithmParameterGenerator.DH = DiffieHellman Alg.Alias.AlgorithmParameterGenerator.OID.1.2.840.113549.1.3.1 = DiffieHellman Alg.Alias.AlgorithmParameters.1.2.840.113549.1.1.7 = OAEP Alg.Alias.AlgorithmParameters.1.2.840.113549.1.12.1.1 = PBEWithSHA1AndRC4_128 Alg.Alias.AlgorithmParameters.1.2.840.113549.1.12.1.2 = PBEWithSHA1AndRC4_40 Alg.Alias.AlgorithmParameters.1.2.840.113549.1.12.1.3 = PBEWithSHA1AndDESede Alg.Alias.AlgorithmParameters.1.2.840.113549.1.12.1.5 = PBEWithSHA1AndRC2_128 Alg.Alias.AlgorithmParameters.1.2.840.113549.1.12.1.6 = PBEWithSHA1AndRC2_40 Alg.Alias.AlgorithmParameters.1.2.840.113549.1.3.1 = DiffieHellman Alg.Alias.AlgorithmParameters.1.2.840.113549.1.5.13 = PBES2 Alg.Alias.AlgorithmParameters.1.2.840.113549.1.5.3 = PBEWithMD5AndDES Alg.Alias.AlgorithmParameters.1.2.840.113549.1.9.16.3.18 = ChaCha20-Poly1305 〜省略〜 SecretKeyFactory.PBKDF2WithHmacSHA1 = com.sun.crypto.provider.PBKDF2Core$HmacSHA1 SecretKeyFactory.PBKDF2WithHmacSHA224 = com.sun.crypto.provider.PBKDF2Core$HmacSHA224 SecretKeyFactory.PBKDF2WithHmacSHA256 = com.sun.crypto.provider.PBKDF2Core$HmacSHA256 SecretKeyFactory.PBKDF2WithHmacSHA384 = com.sun.crypto.provider.PBKDF2Core$HmacSHA384 SecretKeyFactory.PBKDF2WithHmacSHA512 = com.sun.crypto.provider.PBKDF2Core$HmacSHA512 SecretKeyFactory.PBKDF2WithHmacSHA512/224 = com.sun.crypto.provider.PBKDF2Core$HmacSHA512_224 SecretKeyFactory.PBKDF2WithHmacSHA512/256 = com.sun.crypto.provider.PBKDF2Core$HmacSHA512_256 ================================================================================================================================== Provider: SunJGSS version 25 GssApiMechanism.1.2.840.113554.1.2.2 = sun.security.jgss.krb5.Krb5MechFactory GssApiMechanism.1.3.6.1.5.5.2 = sun.security.jgss.spnego.SpNegoMechFactory Provider.id className = sun.security.jgss.SunProvider Provider.id info = Sun (Kerberos v5, SPNEGO) Provider.id name = SunJGSS Provider.id version = 25 ================================================================================================================================== Provider: SunSASL version 25 Provider.id className = com.sun.security.sasl.Provider Provider.id info = Sun SASL provider(implements client mechanisms for: DIGEST-MD5, EXTERNAL, PLAIN, CRAM-MD5, NTLM; server mechanisms for: DIGEST-MD5, CRAM-MD5, NTLM) Provider.id name = SunSASL Provider.id version = 25 SaslClientFactory.CRAM-MD5 = com.sun.security.sasl.ClientFactoryImpl SaslClientFactory.DIGEST-MD5 = com.sun.security.sasl.digest.FactoryImpl SaslClientFactory.EXTERNAL = com.sun.security.sasl.ClientFactoryImpl SaslClientFactory.NTLM = com.sun.security.sasl.ntlm.FactoryImpl SaslClientFactory.PLAIN = com.sun.security.sasl.ClientFactoryImpl SaslServerFactory.CRAM-MD5 = com.sun.security.sasl.ServerFactoryImpl SaslServerFactory.DIGEST-MD5 = com.sun.security.sasl.digest.FactoryImpl SaslServerFactory.NTLM = com.sun.security.sasl.ntlm.FactoryImpl ================================================================================================================================== Provider: XMLDSig version 25 Alg.Alias.TransformService.BASE64 = http://www.w3.org/2000/09/xmldsig#base64 Alg.Alias.TransformService.ENVELOPED = http://www.w3.org/2000/09/xmldsig#enveloped-signature Alg.Alias.TransformService.EXCLUSIVE = http://www.w3.org/2001/10/xml-exc-c14n# Alg.Alias.TransformService.EXCLUSIVE_WITH_COMMENTS = http://www.w3.org/2001/10/xml-exc-c14n#WithComments Alg.Alias.TransformService.INCLUSIVE = http://www.w3.org/TR/2001/REC-xml-c14n-20010315 Alg.Alias.TransformService.INCLUSIVE_WITH_COMMENTS = http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments Alg.Alias.TransformService.XPATH = http://www.w3.org/TR/1999/REC-xpath-19991116 Alg.Alias.TransformService.XPATH2 = http://www.w3.org/2002/06/xmldsig-filter2 Alg.Alias.TransformService.XSLT = http://www.w3.org/TR/1999/REC-xslt-19991116 KeyInfoFactory.DOM = org.jcp.xml.dsig.internal.dom.DOMKeyInfoFactory Provider.id className = org.jcp.xml.dsig.internal.dom.XMLDSigRI Provider.id info = XMLDSig (DOM XMLSignatureFactory; DOM KeyInfoFactory; C14N 1.0, C14N 1.1, Exclusive C14N, Base64, Enveloped, XPath, XPath2, XSLT TransformServices) Provider.id name = XMLDSig Provider.id version = 25 TransformService.http://www.w3.org/2000/09/xmldsig#base64 = org.jcp.xml.dsig.internal.dom.DOMBase64Transform TransformService.http://www.w3.org/2000/09/xmldsig#base64 MechanismType = DOM TransformService.http://www.w3.org/2000/09/xmldsig#enveloped-signature = org.jcp.xml.dsig.internal.dom.DOMEnvelopedTransform TransformService.http://www.w3.org/2000/09/xmldsig#enveloped-signature MechanismType = DOM TransformService.http://www.w3.org/2001/10/xml-exc-c14n# = org.jcp.xml.dsig.internal.dom.DOMExcC14NMethod TransformService.http://www.w3.org/2001/10/xml-exc-c14n# MechanismType = DOM TransformService.http://www.w3.org/2001/10/xml-exc-c14n#WithComments = 〜省略〜 TransformService.http://www.w3.org/TR/1999/REC-xslt-19991116 = org.jcp.xml.dsig.internal.dom.DOMXSLTTransform TransformService.http://www.w3.org/TR/1999/REC-xslt-19991116 MechanismType = DOM TransformService.http://www.w3.org/TR/2001/REC-xml-c14n-20010315 = org.jcp.xml.dsig.internal.dom.DOMCanonicalXMLC14NMethod TransformService.http://www.w3.org/TR/2001/REC-xml-c14n-20010315 MechanismType = DOM TransformService.http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments = org.jcp.xml.dsig.internal.dom.DOMCanonicalXMLC14NMethod TransformService.http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments MechanismType = DOM XMLSignatureFactory.DOM = org.jcp.xml.dsig.internal.dom.DOMXMLSignatureFactory ================================================================================================================================== Provider: SunPCSC version 25 Provider.id className = sun.security.smartcardio.SunPCSC Provider.id info = Sun PC/SC provider Provider.id name = SunPCSC Provider.id version = 25 TerminalFactory.PC/SC = sun.security.smartcardio.SunPCSC$Factory ================================================================================================================================== Provider: JdkLDAP version 25 CertStore.LDAP = sun.security.provider.certpath.ldap.LDAPCertStore CertStore.LDAP ImplementedIn = Software CertStore.LDAP LDAPSchema = RFC2587 Provider.id className = sun.security.provider.certpath.ldap.JdkLDAP Provider.id info = JdkLDAP Provider (implements LDAP CertStore) Provider.id name = JdkLDAP Provider.id version = 25 ================================================================================================================================== Provider: JdkSASL version 25 Provider.id className = com.sun.security.sasl.gsskerb.JdkSASL Provider.id info = JDK SASL provider(implements client and server mechanisms for GSSAPI) Provider.id name = JdkSASL Provider.id version = 25 SaslClientFactory.GSSAPI = com.sun.security.sasl.gsskerb.FactoryImpl SaslServerFactory.GSSAPI = com.sun.security.sasl.gsskerb.FactoryImpl ================================================================================================================================== Provider: SunPKCS11 version 25 Provider.id className = sun.security.pkcs11.SunPKCS11 Provider.id info = Unconfigured and unusable PKCS11 provider Provider.id name = SunPKCS11 Provider.id version = 25
まあ、これだけを見てもなんとも…という感じですね。
Javaにどのようなプロバイダー(JDKプロバイダー)が含まれているのかはこちらに書かれています。
各プロバイダーが持つエンジンと対応するアルゴリズムが書かれています。
JSSEに関するページは独立しているので、合わせてこちらも。
Java Secure Socket Extension (JSSE)リファレンス・ガイド
Javaセキュリティ標準アルゴリズム名に関するページも参考になるでしょう。
テストコードでの確認。
src/test/java/org/littlewings/DefaultProvidersTest.java
package org.littlewings; import javax.crypto.Cipher; import javax.crypto.NoSuchPaddingException; import javax.net.ssl.SSLContext; import java.security.KeyPairGenerator; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.security.Signature; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; class DefaultProvidersTest { @Test void secureRandom() { SecureRandom secureRandom = new SecureRandom(); assertThat(secureRandom.getProvider().getName()).isEqualTo("SUN"); } @Test void messageDigest() throws NoSuchAlgorithmException { MessageDigest messageDigest = MessageDigest.getInstance("SHA-256"); assertThat(messageDigest.getProvider().getName()).isEqualTo("SUN"); } @Test void signature() throws NoSuchAlgorithmException { assertThat(Signature.getInstance("SHA256withRSA").getProvider().getName()).isEqualTo("SunRsaSign"); assertThat(Signature.getInstance("SHA256withECDSA").getProvider().getName()).isEqualTo("SunEC"); } @Test void cipher() throws NoSuchPaddingException, NoSuchAlgorithmException { Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding"); assertThat(cipher.getProvider().getName()).isEqualTo("SunJCE"); } @Test void keyPairGenerator() throws NoSuchAlgorithmException { KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA"); assertThat(keyPairGenerator.getProvider().getName()).isEqualTo("SunRsaSign"); } @Test void ssl() throws NoSuchAlgorithmException { SSLContext sslContext = SSLContext.getDefault(); assertThat(sslContext.getProvider().getName()).isEqualTo("SunJSSE"); } }
java.securityファイル
手元の環境の$JAVA_HOME/conf/security/java.securityの内容です。
$ grep -v '^#' /usr/lib/jvm/java-25-openjdk-amd64/conf/security/java.security | grep -v '^$' security.provider.1=SUN security.provider.2=SunRsaSign security.provider.3=SunEC security.provider.4=SunJSSE security.provider.5=SunJCE security.provider.6=SunJGSS security.provider.7=SunSASL security.provider.8=XMLDSig security.provider.9=SunPCSC security.provider.10=JdkLDAP security.provider.11=JdkSASL security.provider.12=SunPKCS11 securerandom.source=file:/dev/random securerandom.strongAlgorithms=NativePRNGBlocking:SUN,DRBG:SUN securerandom.drbg.config= login.configuration.provider=sun.security.provider.ConfigFile policy.expandProperties=true policy.allowSystemProperty=true keystore.type=pkcs12 keystore.type.compat=true security.overridePropertiesFile=true ssl.KeyManagerFactory.algorithm=SunX509 ssl.TrustManagerFactory.algorithm=PKIX networkaddress.cache.negative.ttl=10 krb5.kdc.bad.policy = tryLast sun.security.krb5.disableReferrals=false sun.security.krb5.maxReferrals=5 jdk.certpath.disabledAlgorithms=MD2, MD5, SHA1 jdkCA & usage TLSServer, \ RSA keySize < 1024, DSA keySize < 1024, EC keySize < 224, \ SHA1 usage SignedJAR & denyAfter 2019-01-01 jdk.security.legacyAlgorithms=SHA1, \ RSA keySize < 2048, DSA keySize < 2048, \ DES, DESede, MD5, RC2, ARCFOUR jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, \ DSA keySize < 1024, SHA1 denyAfter 2019-01-01 http.auth.digest.disabledAlgorithms = MD5, SHA-1 jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, DTLSv1.0, RC4, DES, \ MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \ ECDH, TLS_RSA_*, rsa_pkcs1_sha1 usage HandshakeSignature, \ ecdsa_sha1 usage HandshakeSignature, dsa_sha1 usage HandshakeSignature jdk.tls.legacyAlgorithms=NULL, anon, RC4, DES, 3DES_EDE_CBC jdk.tls.keyLimits=AES/GCM/NoPadding KeyUpdate 2^37, \ ChaCha20-Poly1305 KeyUpdate 2^37 crypto.policy=unlimited jdk.xml.dsig.secureValidationPolicy=\ disallowAlg http://www.w3.org/TR/1999/REC-xslt-19991116,\ disallowAlg http://www.w3.org/2001/04/xmldsig-more#rsa-md5,\ disallowAlg http://www.w3.org/2001/04/xmldsig-more#hmac-md5,\ disallowAlg http://www.w3.org/2001/04/xmldsig-more#md5,\ disallowAlg http://www.w3.org/2000/09/xmldsig#sha1,\ disallowAlg http://www.w3.org/2000/09/xmldsig#dsa-sha1,\ disallowAlg http://www.w3.org/2000/09/xmldsig#rsa-sha1,\ disallowAlg http://www.w3.org/2007/05/xmldsig-more#sha1-rsa-MGF1,\ disallowAlg http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1,\ maxTransforms 5,\ maxReferences 30,\ disallowReferenceUriSchemes file http https,\ minKeySize RSA 1024,\ minKeySize DSA 1024,\ minKeySize EC 224,\ noDuplicateIds,\ noRetrievalMethodLoops jceks.key.serialFilter = java.base/java.lang.Enum;java.base/java.security.KeyRep;\ java.base/java.security.KeyRep$Type;java.base/javax.crypto.spec.SecretKeySpec;!* jdk.includeInExceptions=hostInfoExclSocket jdk.sasl.disabledMechanisms= jdk.security.caDistrustPolicies=SYMANTEC_TLS,ENTRUST_TLS,CAMERFIRMA_TLS jdk.io.permissionsUseCanonicalPath=false jdk.tls.alpnCharset=ISO_8859_1 jdk.epkcs8.defaultAlgorithm=PBEWithHmacSHA256AndAES_128
プロバイダーの優先順位やアルゴリズムの設定などが書かれています。
おわりに
内容を見るというよりはなにがどこにあったかをメモするためのものなのですが、調べようとした時に
「なんのことだったっけ?」となることが多いので書いておきました。
ここから少し追っておきたいところとかあったりするので。