Maison  >  Article  >  Java  >  Après Java8 (291), TLS1.1 est désactivé et JDBC ne peut pas se connecter à SqlServer2008 via SSL. Comment résoudre le problème ?

Après Java8 (291), TLS1.1 est désactivé et JDBC ne peut pas se connecter à SqlServer2008 via SSL. Comment résoudre le problème ?

WBOY
WBOYavant
2023-05-16 23:55:051967parcourir

Après Java8-291, TLS1.1 est désactivé, ce qui empêche JDBC de se connecter à SqlServer2008 à l'aide de SSL. Que dois-je faire ? Voici la solution

Modifier le fichier java.security#. 🎜🎜#

1. Recherchez le fichier java.security de jre

S'il s'agit de jre, dans {JAVA_HOME}/jre/lib/security, tel que ????#🎜🎜 #

C:Program FilesJavajre1.8.0_301libsecurity

S'il s'agit d'une version portable sans installation verte d'Eclipse
Recherchez java.security dans l'installation dossier, tel que ????

# 🎜🎜#
xxxpluginsorg.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_16.0.1.v20210528-1205jreconfsecurity

#🎜🎜 #
Si c'est la version installée d'Eclipse sous fenêtre

Le fichier est dans c:/user dossier/.p2/pool/plugins/…, par exemple ????

# 🎜🎜#
C:Usersadmin.p2poolpluginsorg.eclipse.justj .openjdk.hotspot.jre.full.win32.x86_64_16.0.2.v20210721-1149jreconfsecurity


#🎜🎜 #Si vous recherchez java.security sur le lecteur C, vous pouvez en trouver plus de deux dans le dossier temporaire. Également

2 Ouvrez java.security et recherchez "jdk.tls.disabledAlgorithms="

#🎜. 🎜#

jdk.tls.disabledAlgorithms=
#🎜🎜 #

peut être trouvé ??? #

# Example:
#   jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048, \
#       rsa_pkcs1_sha1, secp224r1
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL

4. L'échantillon modifié peut être copié directement dans jre8

A été testé et réussi

# 🎜🎜##

# Il s'agit du "fichier principal de propriétés de sécurité".
#

# Un autre fichier de propriétés java.security peut être spécifié

# à partir de la ligne de commande via la propriété système

#

# -Djava.security.properties= 258c40d94d8689854ad79c4076dd5f96

#

# Ce fichier de propriétés s'ajoute au fichier de propriétés de sécurité principal.

# Si les deux fichiers de propriétés spécifient des valeurs pour la même clé, la valeur

# du fichier de propriétés de la ligne de commande est sélectionné, car c'est le dernier

# chargé.

#

# De plus, si vous spécifiez

#
# -Djava .security.properties==258c40d94d8689854ad79c4076dd5f96 (2 égaux),

#
# alors ce fichier de propriétés remplace complètement le fichier de propriétés de sécurité principal
#.
##🎜🎜 ## Pour désactiver la possibilité de spécifier un fichier de propriétés supplémentaire à partir de
# la ligne de commande, définissez la clé security.overridePropertiesFile
# sur false dans le fichier de propriétés de sécurité principal. Elle est définie sur true#🎜🎜. ## par défaut.

# Dans ce fichier, diverses propriétés de sécurité sont définies pour être utilisées par
# classes de sécurité Java. C'est ici que les utilisateurs peuvent s'inscrire statiquement
# Cryptography Package. Fournisseurs ("fournisseurs" en abrégé). Le terme
# "fournisseur" fait référence à un package ou à un ensemble de packages qui fournissent une
# implémentation concrète d'un sous-ensemble des aspects cryptographiques de
# le API de sécurité Java. Un fournisseur peut, par exemple, implémenter un ou
# plusieurs algorithmes de signature numérique ou algorithmes de résumé de message.
#
# Chaque fournisseur doit implémenter une sous-classe de la classe Provider.# 🎜🎜## Pour enregistrer un fournisseur dans ce fichier principal de propriétés de sécurité,
# spécifiez le fournisseur et la priorité au format
#
# security.provider.751fecf49c9d13ca89ee2cbb9b75d4f6=83011063ba637dec2d17f2793048d981
#
# Ceci déclare un fournisseur et spécifie sa préférence
# order n L'ordre de préférence est l'ordre dans lequel les fournisseurs sont
# recherchés pour les algorithmes demandés ( lorsqu'aucun fournisseur spécifique n'est
# demandé). L'ordre est basé sur 1 ; 1 est le plus préféré, suivi de

# par 2, et ainsi de suite.

#
# < ;provName> doit spécifier le nom du fournisseur tel qu'il est transmis à son constructeur de super
# classe java.security.Provider. Ceci concerne les fournisseurs chargés
# via le mécanisme ServiceLoader.
##🎜. 🎜## ba8676586cb33c74c61ba2c0b1d97e34 doit spécifier la sous-classe de la classe Provider dont le constructeur
# définit les valeurs de diverses propriétés requises#🎜 🎜## pour que l'API de sécurité Java recherche les algorithmes ou autres
# installations mises en œuvre par le fournisseur. Ceci est pour les fournisseurs chargés
# via classpath.
#
# Remarque : les fournisseurs peuvent être enregistrés dynamiquement à la place par des appels à
# soit la méthode addProvider ou insertProviderAt dans la classe Security
#.

#
# Liste des fournisseurs et leurs ordres de préférence (voir ci-dessus) :
##🎜🎜 #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=SunMSCAPI
security supplier.13=SunPKCS11
.

#
# Une liste de fournisseurs privilégiés pour des algorithmes spécifiques. Ces fournisseurs seront
# recherchés pour les algorithmes de correspondance avant la liste des fournisseurs enregistrés.
# Les entrées contenant des erreurs (analyse, etc.) seront ignorées. Utilisez la propriété
# -Djava.security.debug=jca pour déboguer ces erreurs.
#
# La propriété est une liste d'entrées serviceType.algorithm:provider
# séparées par des virgules. Le serviceType (exemple : "MessageDigest") est facultatif, et si
# n'est pas spécifié, l'algorithme s'applique à tous les types de services qui le prennent en charge.
# L'algorithme est le nom ou la transformation standard de l'algorithme.
# Les transformations peuvent être spécifiées dans leur nom standard complet
# (ex : AES/CBC/PKCS5Padding), ou sous forme de correspondances partielles (ex : AES, AES/CBC).
# Le fournisseur est le nom du fournisseur. Tout fournisseur qui n'apparaît pas
# également dans la liste enregistrée sera ignoré.
#
# Il existe un type de service spécial pour cette propriété uniquement pour regrouper un ensemble d'algorithmes
#. Le type est "Groupe" et est suivi d'un mot-clé algorithm
#. Les groupes doivent simplifier et réduire les entrées sur la ligne property
#. Les groupes actuels sont :
#   Group.SHA2 = SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256
#   Group.HmacSHA2 = HmacSHA224, HmacSHA256, HmacSHA384, HmacSHA512
#   Groupe.SHA2RSA = SHA224avecRSA, SHA256avecRSA, SHA384avecRSA, SHA512avecRSA
#   Groupe.SHA2DSA = SHA224avecDSA, SHA256avecDSA, SHA384avecDSA, SHA512avecDSA
#  Group.SHA2ECDSA = ECDSA, SHA256avecECDSA, SHA384avecECDSA,
#                     SHA512avecECDSA
#   Group.SHA3 = SHA3-224 , SHA3-256, SHA3-384, SHA3-512
#   Group.HmacSHA3 = HmacSHA3-224, HmacSHA3-256, HmacSHA3-384, HmacSHA3-512
#
# Exemple :
#   jdk.security.provider.preferred=AES /GCM/NoPadding:SunJCE,
#         MessageDigest.SHA-256:SUN, Group.HmacSHA2:SunJCE
#
#jdk.security.provider.preferred=


#
# Sun Provider SecureRandom seed source.
#
# Sélectionnez la source principale de données de départ pour les implémentations SecureRandom "NativePRNG", "SHA1PRNG"
# et "DRBG" dans le fournisseur "Sun".
# (D'autres implémentations SecureRandom peuvent également utiliser cette propriété.)
#
# Sous Unix -comme les systèmes (par exemple, Linux/MacOS), les implémentations
# "NativePRNG", "SHA1PRNG" et "DRBG" obtiennent des données de départ à partir de
# fichiers de périphérique spéciaux tels que file:/dev/random.
#
# On Sur les systèmes Windows, la spécification des URL "file:/dev/random" ou
# "file:/dev/urandom" activera le mécanisme d'amorçage natif Microsoft CryptoAPI
# pour SHA1PRNG et DRBG.
#
# Par défaut, une tentative est conçu pour utiliser le dispositif de collecte d'entropie
# spécifié par la propriété de sécurité "securerandom.source".  Si une
# exception se produit lors de l'accès à l'URL spécifiée :
#
#     NativePRNG:
#        , une valeur par défaut de /dev/random sera utilisée.  Si ni l'un ni l'autre
#        ne sont disponibles, l'implémentation sera désactivée.
#         "fichier" est le seul type de protocole actuellement pris en charge.
#
#     SHA1PRNG et DRBG:
#         l'algorithme traditionnel d'activité système/thread sera utilisé.
#
# Le dispositif de collecte d'entropie peut également être spécifié avec la propriété System
# "java.security.egd". Par exemple :
#
#   % java -Djava.security.egd=file:/dev/random MainClass
#
# La spécification de cette propriété système remplacera la propriété de sécurité
# "securerandom.source".
#
# De plus , si "file:/dev/random" ou "file:/dev/urandom" est
# spécifié, l'implémentation "NativePRNG" sera plus préférée que
# DRBG et SHA1PRNG dans le fournisseur Sun.
#
securerandom.source =file:/dev/random

#
# Une liste d'implémentations fortes connues de SecureRandom.
#
# Pour aider les applications à sélectionner une implémentation forte
# java.security.SecureRandom appropriée, les distributions Java devraient
# indiquer une liste d'implémentations fortes connues utilisant la propriété.
#
# Il s'agit d'une liste d'algorithmes et/ou d'entrées algorithm:provider
# séparées par des virgules.
#
securerandom.strongAlgorithms=Windows-PRNG:SunMSCAPI,DRBG:SUN

#
# Configuration DRBG du fournisseur Sun et demande d'instanciation par défaut.
#
# NIST SP 800-90Ar1 répertorie plusieurs mécanismes DRBG. Chacun peut être configuré
# avec un nom d'algorithme DRBG, et peut être instancié avec un niveau de sécurité,
# prise en charge de la résistance de prédiction, etc. Cette propriété définit la configuration
# et la demande d'instanciation par défaut des implémentations "DRBG" SecureRandom
# dans le fournisseur SUN. (D'autres implémentations DRBG peuvent également utiliser cette propriété.)
# Les applications peuvent demander différents paramètres d'instanciation tels que la sécurité
# la force, la capacité, la chaîne de personnalisation en utilisant l'une des méthodes
# getInstance(...,SecureRandomParameters,...) avec un
# Argument DrbgParameters.Instantiation, mais d'autres paramètres tels que le
# mécanisme et les noms d'algorithme DRBG ne sont actuellement configurables par aucune API.
#
# Veuillez noter que l'implémentation SUN de DRBG prend toujours en charge le réamorçage.
#
# La valeur de cette propriété est une liste séparée par des virgules de tous les aspects configurables
#. Les aspects peuvent apparaître dans n'importe quel ordre mais le même aspect ne peut apparaître que
# au maximum une fois. Sa définition de style BNF est :
#
#   Value:
#     aspect { "," aspect }
#
#   aspect:
#     mech_name | nom_algorithme | force | capacité | df
#
#   // Le mécanisme DRBG à utiliser. "Hash_DRBG" par défaut
#   nom_mech :
#     "Hash_DRBG" | "HMAC_DRBG" | "CTR_DRBG"
#
#   // Le nom de l'algorithme DRBG. Les noms "SHA-***" concernent Hash_DRBG et
#   // HMAC_DRBG, "SHA-256" par défaut. Les noms "AES-***" sont pour CTR_DRBG,
#   // "AES-128" par défaut lors de l'utilisation du chiffrement limité ou "AES-256"
#   // lors de l'utilisation de l'illimité.
#   nom_algorithme :
#     " SHA-224" | "SHA-512/224" | "SHA-256" |
#     "SHA-512/256" | "SHA-384" | "SHA-512" |
#     "AES-128" | "AES-192" | "AES-256"
#
#   // Niveau de sécurité demandé. "128" par défaut
#  force :
#     "112" | "128" | "192" | "256"
#
#   // Résistance à la prédiction et demande de réensemencement. Par défaut "aucun"
#   //  "pr_and_reseed" - Résistance à la prédiction et réensemencement
#   //                    support demandé
#   //  "reseed_only"   - Uniquement support de réensemencement demandé
#   //  "aucun"          - Ni résistance à la prédiction, ni réensemencement
# //                    assistance demandée
#   pr:
#     "pr_and_reseed" | "reseed_only" | "aucun"
#
#   // Indique si une fonction de dérivation doit être utilisée. applicable uniquement
#   // à CTR_DRBG. "use_df" par défaut
#   df:
#     "use_df" | "no_df"
#
# Exemples,
#   securerandom.drbg.config=Hash_DRBG,SHA-224,112,none
#   securerandom.drbg.config=CTR_DRBG,AES-256,192,pr_and_reseed,use_df
#
# La valeur par défaut est un chaîne vide, qui équivaut à
#   securerandom.drbg.config=Hash_DRBG,SHA-256,128,none
#
securerandom.drbg.config=

#
# Classe à instancier en tant que javax.security.auth.login.Configuration
# supplier.
#
login.configuration.provider=sun.security.provider.ConfigFile

#
# Fichier de configuration de connexion par défaut
#
#login.config.url.1=file:${user.home}/ .java.login.config

#
# Classe à instancier en tant que stratégie système. C'est le nom de la classe
# qui sera utilisée comme objet Policy. Le chargeur de classe système est utilisé pour
# localiser cette classe.
#
policy.provider=sun.security.provider.PolicyFile

# La valeur par défaut est d'avoir un seul fichier de stratégie à l'échelle du système,
# et un fichier de stratégie dans le répertoire personnel de l'utilisateur.
#
policy.url.1=file:${java.home}/conf/security/java.policy
policy.url.2=file:${user.home}/.java.policy

# Contrôle si les propriétés sont développées ou non dans les fichiers de configuration de stratégie et de connexion
#. Si elles sont définies sur false, les propriétés (${...}) ne seront pas
# développées dans les fichiers de stratégie et de configuration de connexion. Si elle est commentée ou
# définie sur une chaîne vide, la valeur par défaut est "false" pour les fichiers de stratégie et
# "true" pour les fichiers de configuration de connexion.
#
policy.expandProperties=true

# Contrôle si une stratégie supplémentaire ou un fichier de configuration de connexion est
# autorisé à être transmis sur la ligne de commande avec -Djava.security.policy=somefile
# ou -Djava.security. auth.login.config=un fichier. Si vous commentez ou définissez une chaîne vide sur
#, la valeur par défaut est "false".
#
policy.allowSystemProperty=true

# que nous recherchez dans IdentityScope les identités de confiance
# lorsque vous rencontrez un fichier JAR signé 1.1. Si l'identité est trouvée
# et est fiable, nous lui accordons AllPermission. Remarque : le fournisseur de stratégie par défaut
# (sun.security.provider.PolicyFile) ne prend pas en charge cette propriété.
#
policy.ignoreIdentityScope=false

## 🎜🎜## Type de magasin de clés par défaut.
#
keystore.type=pkcs12

#

# Contrôle le mode de compatibilité pour les types de magasins de clés JKS et PKCS12.
#
# Lorsqu'ils sont définis sur « true », les types de magasins de clés JKS et PKCS12 prennent en charge le chargement
# des fichiers de magasins de clés au format JKS ou PKCS12. Lorsqu'il est défini sur « false », le type de magasin de clés
# JKS prend en charge le chargement uniquement des fichiers de magasin de clés JKS et le type de magasin de clés PKCS12
# prend en charge le chargement uniquement des fichiers de magasin de clés PKCS12.
#
keystore.type .compat=true

#

# La liste des packages séparés par des virgules qui commencent par ou sont égaux à cette chaîne
# entraînera la levée d'une exception de sécurité lorsqu'elle sera transmise au#🎜 🎜## SecurityManager::checkPackageAccess méthode sauf si le
# RuntimePermission("accessClassInPackage."+package) correspondant a été accordé.
#
package.access=sun.misc.,#🎜🎜 #               sun.reflect.

#
# La liste des packages séparés par des virgules qui commencent par ou sont égaux à cette chaîne

# entraînera la levée d'une exception de sécurité lorsqu'elle sera transmise au# 🎜🎜## SecurityManager::checkPackageDefinition sauf si la

# RuntimePermission("defineClassInPackage."+package) correspondante a été accordée.
#
# Par défaut, aucun des chargeurs de classe fournis avec l'appel JDK
# checkPackageDefinition.
#
package.definition=sun.misc.,
                  sun.reflect.

##🎜🎜 ## Détermine si ce fichier de propriétés peut être ajouté à
# ou remplacé sur la ligne de commande via -Djava.security.properties
#

security.overridePropertiesFile=true


#
# Détermine les algorithmes d'usine de clé et de gestionnaire de confiance par défaut pour
# le package javax.net.ssl.
#

ssl.KeyManagerFactory.algorithm=SunX509

ssl. TrustManagerFactory.algorithm=PKIX

#
# La politique de cache de recherche de noms au niveau Java pour des recherches réussies :
#
# toute valeur négative : mise en cache pour toujours

# toute valeur positive : le nombre de secondes pour mettre en cache une adresse pendant

# zéro : ne pas mettre en cache
#
# la valeur par défaut est éternelle (FOREVER). Pour des raisons de sécurité, cette
# mise en cache est effectuée de manière permanente lorsqu'un gestionnaire de sécurité est défini. Lorsqu'un gestionnaire de sécurité
# n'est pas défini, le comportement par défaut dans cette implémentation
# est de mettre en cache pendant 30 secondes.
#
# REMARQUE : définir ceci sur autre chose que le la valeur par défaut peut avoir
#       de sérieuses implications en matière de sécurité. Ne le configurez que si
#       vous êtes sûr de ne pas être exposé à une attaque d'usurpation d'identité DNS.
#
#networkaddress.cache.ttl=-1

# Le Politique de cache de recherche de noms au niveau Java pour les recherches ayant échoué :
#
# toute valeur négative : mettre en cache pour toujours
# toute valeur positive : le nombre de secondes pour mettre en cache les résultats de recherche négatifs

# zéro : ne pas mettre en cache

#
# Dans certains environnements réseau Microsoft Windows qui utilisent
# le service de noms WINS en plus du DNS, les recherches de services de noms
# qui échouent peuvent prendre un temps considérable long temps de retour (environ 5 secondes).
# Pour cette raison, la politique de mise en cache par défaut est de conserver ces
# résultats pendant 10 secondes.
#
networkaddress.cache. négatif.ttl=10

#
# Propriétés pour configurer OCSP pour la vérification de la révocation des certificats
#

# Activer OCSP

##🎜 🎜## Par défaut, OCSP n'est pas utilisé pour la vérification de la révocation des certificats.
# Cette propriété permet l'utilisation d'OCSP lorsqu'elle est définie sur la valeur "true".
#

# REMARQUE : SocketPermission est requis pour se connecter à un répondeur OCSP.

#
# Exemple,
#   ocsp.enable=true

#
# Emplacement du répondeur OCSP# 🎜🎜##
# Par défaut, la localisation du répondeur OCSP est déterminée implicitement
# à partir du certificat en cours de validation. Cette propriété spécifie explicitement
# l'emplacement du répondeur OCSP. La propriété est utilisée lorsque l'extension

# Authority Information Access (définie dans la RFC 5280) est absente

# du certificat ou lorsqu'elle doit être remplacée.
#
# Exemple,# 🎜🎜##   ocsp.responderURL=http://ocsp.example.net:80

#
# Nom du sujet du certificat du répondeur OCSP
#
# Par défaut, le certificat du répondeur OCSP est celui de l'émetteur
# du certificat en cours validé. Cette propriété identifie le certificat
# du répondeur OCSP lorsque la valeur par défaut ne s'applique pas. Sa valeur est une chaîne
# nom distinctif (défini dans la RFC 2253) qui identifie un certificat dans
# l'ensemble des certificats fournis lors de la validation du chemin de certificat. Dans les cas où
# le nom du sujet seul n'est pas suffisant pour identifier de manière unique le certificat
# alors les propriétés "ocsp.responderCertIssuerName" et
# "ocsp.responderCertSerialNumber" doivent être utilisées à la place. Lorsque cette propriété
# est définie, ces deux propriétés sont ignorées.
#
# Exemple,
#   ocsp.responderCertSubjectName=CN=OCSP Responder, O=XYZ Corp#🎜🎜 #

#

# Nom de l'émetteur du certificat du répondeur OCSP
#
# Par défaut, le certificat du répondeur OCSP est celui de l'émetteur
# du certificat en cours de validation. Cette propriété identifie le certificat
# du répondeur OCSP lorsque la valeur par défaut ne s'applique pas. Sa valeur est une chaîne
# nom distinctif (défini dans la RFC 2253) qui identifie un certificat dans
# l'ensemble des certificats fournis lors de la validation du chemin de certificat. Lorsque cette propriété
# est définie, la propriété "ocsp.responderCertSerialNumber" doit également
# être définie. Lorsque la propriété "ocsp.responderCertSubjectName" est définie, cette propriété
# est ignorée.
#
# Exemple,
#   ocsp.responderCertIssuerName=CN=Enterprise CA, O=XYZ Corp

#

# Numéro de série du certificat du répondeur OCSP
#
# Par défaut, le certificat du répondeur OCSP est celui de l'émetteur
# du certificat en cours de validation. Cette propriété identifie le certificat
# du répondeur OCSP lorsque la valeur par défaut ne s'applique pas. Sa valeur est une chaîne
# de chiffres hexadécimaux (des séparateurs deux-points ou espaces peuvent être présents) qui
# identifie un certificat dans l'ensemble des certificats fournis lors de la validation du chemin de certificat
#. Lorsque cette propriété est définie, la propriété "ocsp.responderCertIssuerName"
# doit également être définie. Lorsque la propriété "ocsp.responderCertSubjectName"
# est définie, cette propriété est ignorée.
#
# Exemple,
#   ocsp.responderCertSerialNumber=2A:FF:00#🎜🎜 #
#

# Politique relative aux échecs de recherche de KDC Kerberos :

#
# Lorsqu'un KDC est indisponible (erreur réseau, panne de service, etc.), il est
# mis dans une liste noire et consulté moins souvent pour les demandes futures. La valeur
# (insensible à la casse) pour cette stratégie peut être :
#
# tryLast
#    Les KDC de la liste noire sont toujours essayés après ceux qui ne figurent pas sur la liste.#🎜 🎜##
# tryLess[:max_retries,timeout]
#    Les KDC de la liste noire sont toujours essayés selon leur ordre dans la configuration,
#    mais avec des valeurs max_retries et timeout plus petites. max_retries et timeout
#    sont des paramètres numériques facultatifs (par défaut 1 et 5 000, ce qui signifie une fois
#    et 5 secondes). Veuillez noter que si l'une des valeurs définies ici est
#    supérieure à ce qui est défini dans krb5.conf, elle sera ignorée.
#
# Chaque fois qu'un KDC est détecté comme disponible, il est supprimé de la liste noire.
# La liste noire est réinitialisée lorsque krb5.conf est rechargé. Vous pouvez ajouter
#freshKrb5Config=true à un fichier de configuration JAAS afin que krb5.conf soit
# rechargé à chaque tentative d'authentification JAAS.
#
# Exemple,#🎜🎜 ##   krb5.kdc.bad.policy = tryLast
#   krb5.kdc.bad.policy = tryLess:2,2000
#
krb5.kdc.bad.policy = tryLast#🎜🎜 #
#
# Références inter-domaines Kerberos (RFC 6806)
#
# Le client Kerberos d'OpenJDK prend en charge les références inter-domaines telles que définies dans

# RFC 6806. permet de configurer des environnements plus dynamiques dans lesquels les clients

# n'ont pas besoin de savoir à l'avance comment atteindre le domaine d'un principal cible
# (soit un utilisateur, soit un service).
##🎜 🎜## Lorsqu'un client émet une requête AS ou TGS, l'option "canoniser"
# est configurée pour annoncer la prise en charge de cette fonctionnalité. Un serveur KDC peut répondre à la demande ou à la réponse
# en renvoyant le client à un autre. En cas de référence,
# le client émettra une nouvelle requête et le cycle se répétera.
#
# En plus des références, l'option "canoniser" permet au serveur KDC
# de modifier le nom du client en réponse à une demande AS. Pour des raisons de sécurité,
# RFC 6806 (section 11) Le schéma FAST est appliqué.
#
# Désactivez les références inter-domaines Kerberos. La valeur peut être écrasée par une propriété système
# (-Dsun.security.krb5.disableReferrals).
sun.security.krb5.disableReferrals=false

# Nombre maximum de filleuls AS ou TGS pour éviter les boucles infinies. La valeur peut
# être écrasée par une propriété système (-Dsun.security.krb5.maxReferrals).
sun.security.krb5.maxReferrals=5

#
# Cette propriété contient une liste de courbes nommées EC désactivées qui peuvent être incluses
# dans les propriétés jdk.[tls|certpath|jar].disabledAlgorithms.  Pour inclure cette
# liste dans l'une des propriétés désactivéesAlgorithms, ajoutez le nom de la propriété sous la forme
# d'une entrée.
#jdk.disabled.namedCurves=

#
# Restrictions d'algorithme pour le traitement du chemin de certification (CertPath)
#
# Dans certains environnements, certains algorithmes ou longueurs de clé peuvent être indésirables
# pour la création et la validation du chemin de certification.  Par exemple, "MD2" n'est
# généralement plus considéré comme un algorithme de hachage sécurisé.  Cette section
# décrit le mécanisme de désactivation des algorithmes basés sur le nom de l'algorithme
# et/ou la longueur de la clé.  Cela inclut les algorithmes utilisés dans les certificats, ainsi que
# les informations de révocation telles que les CRL et les réponses OCSP signées.
# La syntaxe de la chaîne de l'algorithme désactivé est décrite comme suit :
#   DisabledAlgorithms:
#       " DisabledAlgorithm { , DisabledAlgorithm } "
#
#   DisabledAlgorithm:
#       Nom de l'algorithme [Contrainte] { '&' Contrainte } | IncludeProperty
#
#   Nom de l'algorithme :
#       (voir ci-dessous)
#
#   Constraint :
#       KeySizeConstraint | Contrainte CA | DenyAfterConstraint |
#       UsageConstraint
#
#   KeySizeConstraint:
#       keySize Operator KeyLength
#
#   Operator:
#       e0e94f84ff72fa0f1a2c27e8b53d8388= | >
#
#   KeyLength:
#       Valeur entière de la longueur de la clé de l'algorithme en bits
#
#   CAConstraint:
#       jdkCA
#
#   DenyAfterConstraint:
#       denyAfter YYYY-MM-DD
#
#  Contrainte d'utilisation :
# utilisation [TLSServer] [TLSClient] [SignedJAR]
#
#   IncludeProperty:
#       include a156e5fabe8bc64803b269b34a370726
#
# Le "AlgorithmName" est le nom d'algorithme standard de l'algorithme désactivé
#. Consultez la spécification des noms d’algorithmes standard de sécurité Java
# pour plus d’informations sur les noms d’algorithmes standard.  La correspondance est
# effectuée à l'aide d'une règle de correspondance de sous-éléments insensible à la casse.  (Pour
# exemple, dans "SHA1withECDSA", les sous-éléments sont "SHA1" pour le hachage et
# "ECDSA" pour les signatures.)  Si l'assertion "AlgorithmName" est un
# sous-élément du nom de l'algorithme du certificat, le l'algorithme sera
# rejeté lors de la construction et de la validation du chemin de certification.  Par exemple,
# le nom de l'algorithme d'assertion "DSA" désactivera tous les algorithmes de certificat
# qui reposent sur DSA, tels que NONEwithDSA, SHA1withDSA.  Cependant, l'assertion
# ne désactivera pas les algorithmes liés à "ECDSA".
#
# Le "IncludeProperty" permet une propriété de sécurité définie par l'implémentation qui
# peut être incluse dans les propriétés désactivéesAlgorithms.  " Constraint" définit des restrictions sur les clés et/ou les certificats pour
# un AlgorithmName spécifié :
#
#   KeySizeConstraint:
#     keySize Operator KeyLength
#       La contrainte nécessite une clé d'une plage de tailles valide si le
#       "AlgorithmName" est de un algorithme clé.  Le "KeyLength" indique
#       la taille de clé spécifiée en nombre de bits.  Par exemple,
#       "RSA keySize c6a6c76579576869d1e7795ccf5f8041 2048" indique que toute clé RSA
#       dont la taille de clé est inférieure à 1 024 ou supérieure à 2 048 doit être désactivée.
#       Cette contrainte n'est utilisée que sur les algorithmes qui ont une taille de clé.
#
#   CAConstraint:
#     jdkCA
#       Cette contrainte interdit l'algorithme spécifié uniquement si l'algorithme
#       est utilisé dans une chaîne de certificats qui se termine à une ancre de confiance
#      marquée dans le magasin de clés lib/security/cacerts.  Si la contrainte jdkCA
#       n'est pas définie, alors toutes les chaînes utilisant l'algorithme spécifié
#       sont restreintes.  jdkCA ne peut être utilisé qu'une seule fois dans une expression DisabledAlgorithm
#      .
#       Exemple :  Pour appliquer cette contrainte aux certificats SHA-1, incluez
#       ce qui suit :  "SHA1 jdkCA"
#
#   DenyAfterConstraint:
#     denyAfter - DD
#       Cette contrainte interdit à un certificat avec l'algorithme spécifié
#       d'être utilisé après la date, quelle que soit la validité du certificat
#       .  Les fichiers JAR signés et horodatés avant la date de contrainte
#       avec des certificats contenant l'algorithme désactivé
#       ne seront pas restreints.  La date est traitée dans le fuseau horaire UTC.
#       Cette contrainte ne peut être utilisée qu'une seule fois dans un DisabledAlgorithm
#       expression.
#       Exemple :  Pour refuser l'utilisation de certificats RSA 2048 bits après le 3 février 2020,
#       utilisez ce qui suit :  "RSA keySize == 2048 & denyAfter 2020-02-03"
#
#   UsageConstraint:
#     utilisation [TLSServer] [TLSClient] [SignedJAR]
#       Cette contrainte interdit l'algorithme spécifié pour
#       une utilisation spécifiée.  Ceci doit être utilisé lorsque la désactivation d'un algorithme
#       pour toutes les utilisations n'est pas pratique. 'TLSServer' restreint l'algorithme
#       dans les chaînes de certificats de serveur TLS lorsque l'authentification du serveur est
#       effectuée. 'TLSClient' restreint l'algorithme dans le client TLS
#       les chaînes de certificats lorsque l'authentification du client est effectuée.
#       'SignedJAR' limite l'utilisation des certificats dans les fichiers jar signés.
#       Le type d'utilisation suit le mot-clé et plusieurs types d'utilisation peuvent
# être spécifié avec un délimiteur d'espaces.
#       Exemple : "SHA1 utilisation TLSServer TLSClient"
#
# Lorsqu'un algorithme doit satisfaire plus d'une contrainte, il doit être
# délimité par une esperluette '&'.  Par exemple, pour restreindre les certificats d'une
# chaîne qui se termine à une ancre de confiance fournie par la distribution et qui contient
# clés RSA inférieures ou égales à 1 024 bits, ajoutez la contrainte
# suivante : "RSA keySize <= 1024 & jdkCA".
#
# Toutes les expressions DisabledAlgorithms sont traitées dans l'ordre défini dans la propriété
#.  Cela nécessite de spécifier des contraintes de taille de clé inférieures
# avant des contraintes de taille de clé plus grandes du même algorithme.  Par exemple :
# "RSA keySize < 1024 & jdkCA, RSA keySize < 2048".
#
# Remarque : Les restrictions de l'algorithme ne s'appliquent pas aux ancres de confiance ou aux
# certificats auto-signés.
#
# Remarque : Cette propriété est actuellement utilisée par l'implémentation PKIX d'Oracle. Il
# n'est pas garanti qu'il soit examiné et utilisé par d'autres implémentations.
#
# Exemple :
#   jdk.certpath.disabledAlgorithms=MD2, DSA, RSA keySize < 2048
#
#
jdk.certpath.disabledAlgorithms=MD2, MD5, SHA1 jdkCA et utilisation du serveur TLS,
    RSA keySize < 1024, taille de clé DSA < 1024, taille de clé EC < 224

#
# Algorithmes hérités pour le traitement du chemin de certification (CertPath) et
# fichiers JAR signés.
#
# Dans certains environnements, un certain algorithme ou une certaine longueur de clé peut être indésirable
# mais n'est pas encore désactivé.
#
# Des outils tels que keytool et jarsigner peuvent émettre des avertissements lorsque ces anciens algorithmes
# sont utilisés. Consultez les pages de manuel de ces outils pour plus d'informations.
#
# La syntaxe est la même que celle des propriétés de sécurité "jdk.certpath.disabledAlgorithms" et
# "jdk.jar.disabledAlgorithms".
#
# Remarque : Cette propriété est actuellement utilisé par l'implémentation JDK Reference
#. Il n'est pas garanti qu'il soit examiné et utilisé par d'autres
# implémentations.

jdk.security.legacyAlgorithms=SHA1,
    RSA keySize < 2048, taille de clé DSA < 2048

#
# Restrictions d'algorithme pour les fichiers JAR signés
#
# Dans certains environnements, certains algorithmes ou longueurs de clé peuvent être indésirables
# pour la validation JAR signée.  Par exemple, "MD2" n'est généralement plus
# considéré comme un algorithme de hachage sécurisé.  Cette section décrit le
# mécanisme de désactivation des algorithmes en fonction du nom de l'algorithme et/ou de la longueur de la clé.
# Les JAR signés avec l'un des algorithmes ou tailles de clé désactivés seront traités
# comme non signés.
#
# La syntaxe des désactivés La chaîne d'algorithme est décrite comme suit :
#   DisabledAlgorithms:
#       " DisabledAlgorithm { , DisabledAlgorithm } "
#
#   DisabledAlgorithm:
#       AlgorithmName [Constraint] { '&' Constraint }
#
#   Algorithm Nom :
#       (voir ci-dessous)
#
#   Contrainte :
#       KeySizeConstraint | DenyAfterConstraint
#
#   KeySizeConstraint:
#       keySize Opérateur KeyLength
#
#   DenyAfterConstraint:
#       denyAfter YYYY-MM-DD
#
#   Operator:
#       e0e94f84ff72fa0f1a2c27e8b53d8388= | >
#
#   KeyLength:
#       Valeur entière de la longueur de la clé de l'algorithme en bits
#
# Remarque : Cette propriété est actuellement utilisée par l'implémentation de la référence JDK
#. Il n'est pas garanti qu'il soit examiné et utilisé par d'autres
# implémentations.
#
# Voir "jdk.certpath.disabledAlgorithms" pour les descriptions de syntaxe.
#
jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize ede04857414e8624e16f7161e66b1688/conf/security/policy/ qui peut être personnalisé.
# Veuillez consulter le fichier 63b3ee7e72479f6360d4c7e4b3af780a/conf/security/policy/README.txt ou consulter
# le Guide de sécurité Java/la documentation JCA pour plus d'informations.
#
# IL EST CONSEILLÉ DE CONSULTER VOTRE CONSEIL DE CONTRÔLE DES EXPORTATIONS/IMPORTATIONS OU VOTRE AVOCAT
# POUR DÉTERMINER LES EXIGENCES EXACTES.
#
# [1] Veuillez noter que le JCE pour Java SE, y compris le framework JCE,
# les fichiers de politique cryptographique et les fournisseurs JCE standard fournis avec
# Java SE, ont été révisés et approuvé pour l'exportation en tant que marché de masse
# élément de cryptage par le Bureau américain de l'industrie et de la sécurité.
#
# Remarque : Cette propriété est actuellement utilisée par l'implémentation de référence JDK.
# Il n'est pas garanti qu'il soit examiné et utilisé par d'autres implémentations.
#
crypto.policy=unlimited

#

# La politique de validation sécurisée de la signature XML mode. Le mode est

# activé en définissant la propriété "org.jcp.xml.dsig.secureValidation" sur
# true avec la méthode javax.xml.crypto.XMLCryptoContext.setProperty(),
# ou en exécutant le code avec un SecurityManager.
#
#   Policy:
#       Constraint {"," Constraint }
#   Constraint:
#       AlgConstraint | MaxTransformsContrainte | MaxReferencesConstraint |
#       ReferenceUriSchemeConstraint | ContrainteTailleClé | OtherConstraint
#   AlgConstraint
#       "disallowAlg" Uri
#   MaxTransformsConstraint:
#       "maxTransforms" Integer
#   MaxReferencesConstraint:# 🎜🎜##       "maxReferences" Entier#🎜 🎜##   ReferenceUriSchemeConstraint:
#       "disallowReferenceUriSchemes" String { String }
#   KeySizeConstraint:
#       "minKeySize" KeyAlg Integer
#   OtherConstraint:# 🎜🎜##       "noDuplicateIds" | "noRetrievalMethodLoops"
#
# Pour AlgConstraint, Uri est la chaîne URI de l'algorithme qui n'est pas autorisée.
# Consultez la recommandation de signature XML pour plus d'informations sur l'algorithme
# Identifiants URI. Pour KeySizeConstraint, KeyAlg est l'algorithme standard
# nom du type de clé (ex : "RSA"). Si MaxTransformsConstraint,
# MaxReferencesConstraint ou KeySizeConstraint (pour le même type de clé) est
# spécifié plus d'une fois, seule la dernière entrée est appliquée.
#
# Remarque : Ceci La propriété est actuellement utilisée par l'implémentation de référence JDK. Il n'est pas garanti qu'il
# soit examiné et utilisé par d'autres implémentations.
#
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,
     maxTransforms 5,
maxReferences 30,
   disallowReferenceUriSchemes file http https,
    minKeySize RSA 1024,
    minKeySize DSA 1024,
    minKeySize EC 224,
    noDuplicateId s,
    noRetrievalMethodLoops#🎜🎜 #

#
# Filtre de sérialisation à l'échelle du système
#
# Un filtre, s'il est configuré, est utilisé par java.io.ObjectInputStream pendant
# désérialisation pour vérifier le contenu du flux.
# Un filtre est configuré comme une séquence de modèles , chaque modèle est soit
# comparé au nom d'une classe dans le flux, soit définit une limite.
# Les modèles sont séparés par ";" (point-virgule).
# Les espaces sont significatifs et sont considérés comme faisant partie du modèle.
#
# Si la propriété système jdk.serialFilter est également spécifiée, elle remplace
# la valeur de la propriété de sécurité définie ici.
#
# Si un modèle inclut un "=", il définit une limite.
# Si une limite apparaît plus d'une fois, la dernière valeur est utilisée.
# Les limites sont vérifiées avant les cours, quel que soit l'ordre dans la
# séquence de modèles.
# Si l'un des les limites sont dépassées, l'état du filtre est REJETÉ.
#
#   maxdegree=value - la profondeur maximale d'un graphique
#   maxrefs=value  - le nombre maximum de références internes
#   maxbytes=value - le nombre maximum d'octets dans le input stream
#   maxarray=value - la longueur maximale du tableau autorisée
#
# D'autres modèles, de gauche à droite, correspondent au nom de la classe ou du package comme
# renvoyé par Class.getName.
# Si la classe est de type tableau, la classe ou le package à faire correspondre est le
# type d'élément.
# Les tableaux de n'importe quel nombre de dimensions sont traités de la même manière que le type d'élément.
# Par exemple, un modèle de "!example.Foo", rejette la création de tout instance ou
# tableau de example.Foo.
#
# Si le modèle commence par "!", le statut est REJETÉ si le modèle
# restant correspond ; sinon le statut est AUTORISÉ si le modèle correspond.
# Si le modèle contient "/", le préfixe non vide jusqu'au "/" est le
# nom du module ;
#   si le nom du module correspond au nom du module du class then
#   le modèle restant correspond au nom de la classe.
#   S'il n'y a pas de "/", le nom du module n'est pas comparé.
# Si le modèle se termine par ".**", il correspond à n'importe quelle classe du package et tous les
# sous-packages.
# Si le modèle se termine par ".*", il correspond à n'importe quelle classe du package.
# Si le modèle se termine par "*", il correspond à n'importe quelle classe avec le modèle comme préfixe
#.
# Si le motif est égal au nom de la classe, il correspond.
# Sinon, le statut est INDÉCIDE.
#
#jdk.serialFilter=pattern;pattern

#
# Filtre série du registre RMI
#
# Le modèle de filtre utilise le même format que jdk.serialFilter.
# Ce filtre peut remplacer le filtre intégré si des les types doivent être
# autorisés ou rejetés du registre RMI ou pour diminuer les limites mais pas
# pour augmenter les limites.
# Si les limites (maxdegree, maxrefs ou maxbytes) sont dépassées, l'objet est rejeté.
#
# Chaque type non-tableau est autorisé ou rejeté s'il correspond à l'un des modèles,
# évalué de gauche à droite, et est par ailleurs autorisé. Les tableaux de n'importe quel type de composant
#, y compris les sous-tableaux et les tableaux de primitives, sont autorisés.
#
# La construction de tableaux de tout type de composant, y compris les sous-tableaux et les tableaux de
# primitives, sont autorisés sauf si la longueur est supérieure à la limite maxarray.
# Le filtre est appliqué à chaque élément du tableau.
#
# Remarque : Cette propriété est actuellement utilisée par l'implémentation de référence JDK.# 🎜🎜## Il n'est pas garanti qu'il soit examiné et utilisé par d'autres implémentations.
#
# Le filtre intégré autorise les sous-classes des classes autorisées et
# peut être approximativement représenté comme le modèle :
#
#sun.rmi.registry.registryFilter=
#    maxarray=1000000;
#    maxdegree=20;
#    java.lang.String;#🎜 🎜##    java.lang.Number;
#    java.lang.reflect.Proxy;
#    java.rmi.Remote;
#    sun.rmi.server.UnicastRef;
#    sun.rmi.server.RMIClientSocketFactory;
#    sun.rmi.server.RMIServerSocketFactory;
#    java.rmi.activation.ActivationID;
#    java.rmi.server.UID#🎜🎜 ##
# Filtre série RMI Distributed Garbage Collector (DGC)
#
# Le modèle de filtre utilise le même format que jdk.serialFilter.
# Ce filtre peut remplacer le filtre intégré si des types supplémentaires doivent être
# autorisés ou rejetés du RMI DGC.
#
# Remarque : Cette propriété est actuellement utilisée par l'implémentation de référence JDK.
# Ce n'est pas le cas garanti d'être examiné et utilisé par d'autres implémentations.
#
# Le filtre DGC intégré peut être approximativement représenté comme le modèle de filtre :
#
#sun.rmi.transport.dgcFilter =
#    java.rmi.server.ObjID;
#    java.rmi.server.UID;
#    java.rmi.dgc.VMID;
#    java.rmi.dgc .Lease;
#    maxdegree=5;maxarray=10000

#
# JCEKS Encrypted Key Serial Filter

#

# Ce filtre, s'il est configuré, est utilisé par le KeyStore JCEKS lors de la
# désérialisation de l'objet clé chiffré stocké dans une entrée de clé.
# S'il n'est pas configuré ou si le résultat du filtre est INDÉCIDE (c'est-à-dire aucun des modèles
# ne correspond), le filtre configuré par jdk.serialFilter sera consulté.
#
# Si la propriété système jceks.key.serialFilter est également spécifiée, elle remplace#🎜 🎜## la valeur de la propriété de sécurité définie ici.
#
# Le modèle de filtre utilise le même format que jdk.serialFilter. Le modèle par défaut
# autorise java.lang.Enum, java.security.KeyRep, java.security.KeyRep$Type,
# et javax.crypto.spec.SecretKeySpec et rejette tous les autres.#🎜 🎜#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;!*

# Le nombre d'itérations utilisé pour le chiffrement par mot de passe (PBE) dans les magasins de clés JCEKS
#. Les valeurs comprises entre 10 000 et 5 000 000 sont considérées comme valides.
# Si la valeur est en dehors de cette plage, n'est pas un nombre ou n'est pas spécifiée ;
# une valeur par défaut de 200 000 est utilisée.#🎜🎜 ##

# Si la propriété système jdk.jceks.iterationCount est également spécifiée, elle

# remplace la valeur de la propriété de sécurité définie ici.
#
#jdk.jceks.iterationCount = 200000

#
# Propriétés PKCS12 KeyStore
#
# Les propriétés suivantes, si configurées, sont utilisées par l'implémentation PKCS12 KeyStore
# lors de la création d'un nouveau magasin de clés. Plusieurs des propriétés
# peuvent également être utilisées lors de la modification d'un magasin de clés existant. Les
# propriétés peuvent être remplacées par une API KeyStore qui spécifie ses propres
# algorithmes et paramètres.
#
# Si un magasin de clés PKCS12 existant est chargé puis stocké, l'algorithme et le
# paramètre utilisés pour générer le Mac existant seront réutilisé. Si le magasin de clés
# existant n'a pas de Mac, aucun Mac ne sera créé lors du stockage. S'il
# contient au moins un certificat dans le magasin de clés existant, l'algorithme et les
# paramètres utilisés pour chiffrer le dernier certificat dans le magasin de clés existant seront
# réutilisés pour chiffrer tous les certificats lors du stockage. Si le dernier certificat
# du magasin de clés existant n'est pas chiffré, tous les certificats seront stockés
# non chiffrés. S'il n'y a pas de certificat dans le magasin de clés existant, tout certificat nouvellement
# ajouté sera chiffré (ou stocké non chiffré si la valeur de l'algorithme
# est "NONE") à l'aide de "keystore.pkcs12.certProtectionAlgorithm" et
# "keystore.pkcs12. certPbeIterationCount" valeurs définies ici. Les clés privées
# et secrètes existantes ne sont pas modifiées. Les clés privées et secrètes nouvellement définies seront
# chiffrées à l'aide des valeurs "keystore.pkcs12.keyProtectionAlgorithm" et
# "keystore.pkcs12.keyPbeIterationCount" définies ici.
#
# Afin d'appliquer de nouveaux algorithmes et paramètres à toutes les entrées dans un
# magasin de clés existant, on peut créer un nouveau magasin de clés et ajouter des entrées dans le
# magasin de clés existant dans le nouveau magasin de clés. Ceci peut être réalisé en appelant la commande
# "keytool -importkeystore".
#
# Si une propriété système du même nom est également spécifiée, elle remplace la
# valeur de la propriété de sécurité définie ici.
#
# Si la propriété est défini sur une valeur illégale,
# un nombre d'itérations qui n'est pas un entier positif, ou un algorithme inconnu
# nom, une exception sera levée lorsque la propriété est utilisée.
# Si la propriété n'est pas définie ou vide, un la valeur par défaut sera utilisée.
#
# Remarque : ces propriétés sont actuellement utilisées par l'implémentation de référence JDK.
# Il n'est pas garanti qu'elles soient examinées et utilisées par d'autres implémentations.

# L'algorithme utilisé pour chiffrer un certificat. Il peut s'agir de n'importe quel algorithme non Hmac PBE
# défini dans la section Cipher de la spécification Java Security Standard
# Algorithm Names. Lorsqu'il est défini sur "NONE", le certificat
# n'est pas crypté. La valeur par défaut est "PBEWithHmacSHA256AndAES_256".
#keystore.pkcs12.certProtectionAlgorithm = PBEWithHmacSHA256AndAES_256

# Le nombre d'itérations utilisé par l'algorithme PBE lors du cryptage d'un certificat.
# Cette valeur doit être un entier positif. La valeur par défaut est 10000.
#keystore.pkcs12.certPbeIterationCount = 10000

# L'algorithme utilisé pour chiffrer une clé privée ou une clé secrète. Il peut s'agir de
# n'importe quel algorithme PBE non-Hmac défini dans la section Cipher de la spécification Java
# Security Standard Algorithm Names. La valeur ne doit pas être "NONE".
# La valeur par défaut est "PBEWithHmacSHA256AndAES_256".
#keystore.pkcs12.keyProtectionAlgorithm = PBEWithHmacSHA256AndAES_256

# Le nombre d'itérations utilisé par l'algorithme PBE lors du chiffrement d'une clé privée
# ou d'une clé secrète . Cette valeur doit être un entier positif. La valeur par défaut
# est 10000.
#keystore.pkcs12.keyPbeIterationCount = 10000

# L'algorithme utilisé pour calculer les MacData facultatifs à la fin d'un fichier PKCS12
#. Il peut s'agir de n'importe quel algorithme HmacPBE défini dans la section Mac de la
# Spécification des noms d'algorithmes standard de sécurité Java. Lorsqu'il est défini sur "NONE",
# aucun Mac n'est généré. La valeur par défaut est "HmacPBESHA256".
#keystore.pkcs12.macAlgorithm = HmacPBESHA256

# Le nombre d'itérations utilisé par l'algorithme MacData. Cette valeur doit être un
# entier positif. La valeur par défaut est 10000.
#keystore.pkcs12.macIterationCount = 10000

#
# Informations améliorées sur les messages d'exception
#
# Par défaut, les messages d'exception ne doivent pas inclure d'informations potentiellement sensibles
# telles que les noms de fichiers, les noms d'hôte ou le port Nombres. Cette propriété
# accepte une ou plusieurs valeurs séparées par des virgules, chacune représentant une
# catégorie d'informations de message d'exception améliorées à activer. Les valeurs sont
# insensibles à la casse. Les espaces de début et de fin, entourant chaque valeur,
# sont ignorés. Les valeurs inconnues sont ignorées.
#
# REMARQUE : Soyez prudent avant de définir cette propriété. La définition de cette propriété
# expose des informations sensibles dans les exceptions, qui pourraient, par exemple,
# se propager à du code non fiable ou être émises dans des traces de pile qui sont
# divulguées par inadvertance et rendues accessibles au public network.
#
# Les catégories sont :
#
#  hostInfo - IOExceptions levées par java.net.Socket et les types de socket dans le
#              java.nio Le package .channels contiendra une exception améliorée
#             des informations sur le message
#
#  jar      - permet des informations plus détaillées dans les IOExceptions levées
#             par les classes du package java.util.jar# 🎜🎜##
# Le paramètre de propriété dans ce fichier peut être remplacé par une propriété système de
# du même nom, avec la même syntaxe et les mêmes valeurs possibles.
#
# jdk.includeInExceptions=hostInfo,jar

#

# Mécanismes désactivés pour la couche d'authentification et de sécurité simple (SASL)
#
# Les mécanismes désactivés ne seront pas négociés par à la fois les clients et les serveurs SASL.
# Ces mécanismes seront ignorés s'ils sont spécifiés dans l'argument "mécanismes"
# de "Sasl.createSaslClient" ou l'argument "mécanisme" de
# " Sasl.createSaslServer".
#
# La valeur de cette propriété est une liste de mécanismes SASL séparés par des virgules.
# Les mécanismes sont sensibles à la casse. Les espaces autour des virgules sont ignorés.
#
# Remarque : Cette propriété est actuellement utilisée par l'implémentation de référence JDK.
# Il n'est pas garanti qu'elle soit examinée et utilisée par d'autres implémentations.#🎜 🎜##
# Exemple :
#   jdk.sasl.disabledMechanisms=PLAIN, CRAM-MD5, DIGEST-MD5
jdk.sasl.disabledMechanisms=

## 🎜🎜## Politiques pour se méfier des autorités de certification (CA).

#

# Il s'agit d'une valeur séparée par des virgules d'une ou plusieurs chaînes sensibles à la casse, dont chacune
# représente une politique pour déterminer si une autorité de certification doit être méfiée.
# Les valeurs prises en charge sont :
#
#   SYMANTEC_TLS : méfiez-vous des certificats de serveur TLS ancrés par une autorité de certification Symantec
#   autorité de certification racine et émis après le 16 avril , 2019, à moins qu'il ne soit émis par l'une des
#   autorités de certification subordonnées suivantes qui ont une date de méfiance ultérieure :
#     1. Apple IST CA 2 - G1, empreinte digitale SHA-256 :
#        AC2B922ECFD5E01711772FEA8ED372DE9D1E 2245FCE3F57A9CDBEC77296A424B#🎜 🎜##        Méfiance après le 31 décembre 2019.
#     2. Empreinte digitale Apple IST CA 8 - G1, SHA-256 :
#        A4FE7C7F15155F3F0AEF7AAA83CF6E06DEB97CA3F909DF 920AC1490882D488ED
#        Méfiance après le 31 décembre 2019.#🎜🎜 ##
# Les espaces de début et de fin entourant chaque valeur sont ignorés.
# Les valeurs inconnues sont ignorées. Si la propriété est commentée ou définie sur la chaîne vide
#, aucune politique n'est appliquée.
#
# Remarque : Cette propriété est actuellement utilisée par l'implémentation de référence JDK.
# Il n'est pas garanti qu'il soit pris en charge par d'autres implémentations SE. De plus, cette propriété
# ne remplace pas les autres propriétés de sécurité qui peuvent restreindre
# les certificats tels que jdk.tls.disabledAlgorithms ou
# jdk.certpath.disabledAlgorithms ; ces restrictions sont toujours appliquées même
# si cette propriété n'est pas activée.
#
jdk.security.caDistrustPolicies=SYMANTEC_TLS

#
# FilePermission path canonicalization
#
# Cette propriété de sécurité dicte la manière dont l'argument du chemin est traité et stocké

# lors de la construction d'un objet FilePermission. Si la valeur est définie sur true, l'argument de chemin

# est canonique et les méthodes FilePermission (telles que implique,
# égal et hashCode) sont implémentées sur la base de ce résultat canonique.
# Sinon , l'argument path n'est pas canonique et les méthodes FilePermission sont
# implémentées en fonction de l'entrée d'origine. Voir la note d'implémentation de la classe
# FilePermission pour plus de détails.
#
# Si une propriété système du même nom est également spécifiée, elle remplace la valeur de la propriété de sécurité
# défini ici.
#
# La valeur par défaut de cette propriété est false.
#
jdk.io.permissionsUseCanonicalPath=false

#
# Politiques pour l'entrée de configuration du cache proxy_impersonator Kerberos
#
# L'entrée de configuration du cache proxy_impersonator indique que le ccache
# est un identifiant synthétique délégué à utiliser avec S4U2Proxy par un serveur
# intermédiaire. Le fichier ccache doit également contenir le TGT de ce serveur et
# un ticket de preuve du principal par défaut du ccache vers ce serveur.
#
# Cette propriété de sécurité détermine comment Java utilise cette entrée de configuration.
# Il y a 3 valeurs possibles :
#
#  no-usurate     - Ignorez cette entrée de configuration et agissez toujours en tant que
#                       le propriétaire du TGT (s'il existe).        Si aucun ticket de TGT ou de preuve correspondant n'est trouvé,
#                                                           pas d'identifiant initial est lu à partir du ccache.
#
# La valeur par défaut est "always-usurate".
#
# Si une propriété système du même nom est également spécifiée, elle remplace la
# valeur de la propriété de sécurité définie ici.
#
#jdk.security.krb5.default.initiate.credential=always-impersonate

#
# Trust Anchor Certificates - CA Basic Constraint check
#
# Certificats X.509 v3 utilisés comme Trust Anchors (pour valider le code signé ou TLS
# connexions) doit avoir le champ Contrainte de base cA défini sur « vrai ». De plus, si
# ils incluent une extension Key Usage, le bit keyCertSign doit être défini. Ces

# vérifications, activées par défaut, peuvent être désactivées à des fins de compatibilité ascendante

# avec les propriétés jdk.security.allowNonCaAnchor System et Security
#. Dans le cas où les deux propriétés sont définies simultanément, la valeur
# System prévaut. La valeur par défaut de la propriété est "false".
#
#jdk.security.allowNonCaAnchor=true

#
# Le nom du jeu de caractères par défaut (java.nio.charset.Charset.forName())
# pour la conversion TLS Valeurs ALPN entre les tableaux d'octets et les chaînes.
# Les versions antérieures du JDK peuvent utiliser UTF-8 comme jeu de caractères par défaut. Si
# vous rencontrez des problèmes d'interopérabilité, définir cette propriété sur UTF-8
# peut vous aider.

#

# jdk.tls.alpnCharset=UTF-8
jdk.tls.alpnCharset=ISO_8859_1

#
# Filtre de usines d'objets JNDI
#
# Ce filtre est utilisé par le runtime JNDI pour contrôler l'ensemble des classes de fabrique d'objets
# qui seront autorisées à instancier des objets à partir de références d'objet renvoyées par
# systèmes de noms/répertoires. La classe d'usine nommée par l'instance de référence sera

# comparée à ce filtre. La propriété filter prend en charge la syntaxe de filtre basée sur un modèle

# avec le même format que jdk.serialFilter.
#
# Chaque modèle est comparé au nom de la classe d'usine pour autoriser ou interdire son
# instanciation. L'accès à une classe d'usine est autorisé à moins que le filtre ne renvoie
# REJECTED.
#
# Remarque : Cette propriété est actuellement utilisée par l'implémentation de référence JDK.
# Il n'est pas garanti qu'elle soit examinée et utilisée par d'autres implémentations.
#
# Si la propriété système jdk.jndi.object.factoriesFilter est également spécifiée, elle remplace
# la valeur de la propriété de sécurité définie ici. La valeur par défaut de la propriété est "*".
#
# La valeur du modèle par défaut permet à toute classe de fabrique d'objets spécifiée par l'instance de référence
# de recréer l'objet référencé.
#jdk.jndi.object.factoriesFilter=*

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer