Table des matières
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#. 🎜🎜#
#
# Si les deux fichiers de propriétés spécifient des valeurs pour la même clé, la valeur
Maison Java javaDidacticiel 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 ?

May 16, 2023 pm 11:55 PM
java ssl jdbc

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
Copier après la connexion

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=

#

# 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== (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.=
#
# 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.
##🎜. 🎜## 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:
#       <= | &Lt ; | == | != | >= | >
#
#   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
#
# 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 <= 1024" indique que toute clé RSA avec une taille de clé inférieure
#       supérieure ou égale à 1024 bits doit être désactivée, et
#       "RSA keySize < 1024, RSA keySize > 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:
#       <= | &Lt ; | == | != | >= | >
#
#   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 < 1024,
      Taille de clé DSA < 1024

#
# Restrictions d'algorithme pour le traitement Secure Socket Layer/Transport Layer Security
# (SSL/TLS/DTLS)
#
# Dans certains environnements, certains algorithmes ou longueurs de clé peuvent être indésirables
# lors de l'utilisation de SSL/TLS/ DTLS.  Cette section décrit le mécanisme de désactivation
# des algorithmes lors de la négociation des paramètres de sécurité SSL/TLS/DTLS, y compris
# la négociation de la version du protocole, la sélection des suites de chiffrement, la sélection des groupes nommés
#, la sélection des schémas de signature, l'authentification par les pairs et les mécanismes d'échange de clés
#.
#
# Les algorithmes désactivés ne seront pas négociés pour les connexions SSL/TLS, même
# s'ils sont activés explicitement dans une application.
#
# Pour l'authentification par les pairs et les mécanismes d'échange de clés basés sur PKI, cette liste
# d'algorithmes désactivés sera également vérifié lors de la construction et de la validation du chemin de certification
#, y compris les algorithmes utilisés dans les certificats, ainsi que
# ainsi que les informations de révocation telles que les CRL et les réponses OCSP signées.
# Ceci s'ajoute à la propriété jdk.certpath.disabledAlgorithms ci-dessus.
#
# Voir la spécification de "jdk.certpath.disabledAlgorithms" pour la
# syntaxe de la chaîne d'algorithme désactivée.
#
# Remarque : les restrictions d'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 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.tls.disabledAlgorithms=MD5, SSLv3, DSA , Taille de clé RSA < 2048,
#       rsa_pkcs1_sha1, secp224r1
jdk.tls.disabledAlgorithms=SSLv3,   RC4, DES, MD5withRSA,
    DH keySize < 1024, taille de clé EC < 224, 3DES_EDE_CBC, anon, NULL

#
# Algorithmes hérités pour Secure Socket Layer/Transport Layer Security (SSL/TLS)
# traitement dans l'implémentation JSSE.
#
# Dans certains environnements, un certain algorithme peut être indésirable mais il
# ne peut pas être désactivé en raison de son utilisation dans les applications existantes.  Les algorithmes hérités
# peuvent toujours être pris en charge, mais les applications ne doivent pas les utiliser
# car la force de sécurité des algorithmes hérités n'est généralement pas assez forte
# dans la pratique.
#
# Lors de la négociation des paramètres de sécurité SSL/TLS, les algorithmes hérités le feront
# ne peut être négocié que s'il n'y a pas d'autres candidats.
#
# La syntaxe de la chaîne des algorithmes hérités est décrite comme suit Java
# Style BNF :
#   LegacyAlgorithms:
#       " LegacyAlgorithm { , LegacyAlgorithm } "
#
# LegacyAlgorithm:
#       AlgorithmName (nom de l'algorithme JSSE standard)
#
# Voir la spécification de la propriété de sécurité "jdk.certpath.disabledAlgorithms"
# pour la syntaxe et la description de la notation "AlgorithmName".
#
# Par SSL/TLS spécifications, les suites de chiffrement ont la forme :
#       SSL_KeyExchangeAlg_WITH_CipherAlg_MacAlg
# ou
#       TLS_KeyExchangeAlg_WITH_CipherAlg_MacAlg
#
# Par exemple, la suite de chiffrement TLS_RSA_WITH_AES_128_CBC_SHA utilise RSA comme
# Algorithme d'échange de clés, AES_128_CBC (algorithme de chiffrement AES 128 bits en mode CBC
# ) comme algorithme de chiffrement (chiffrement) et SHA-1 comme algorithme de résumé de message
# pour HMAC.
#
# L'algorithme LegacyAlgorithm peut être l'un des noms d'algorithme standard suivants :
#     1. Nom de la suite de chiffrement JSSE, par exemple, TLS_RSA_WITH_AES_128_CBC_SHA
#     2. Nom de l'algorithme d'échange de clé JSSE, par exemple, RSA
#     3. Nom de l'algorithme de chiffrement JSSE, par exemple, AES_128_CBC
#     4. Nom de l'algorithme de résumé de message JSSE, par exemple, SHA
#
# Voir SSL/TLS spécifications et les noms d'algorithmes Java Security Standard
# Spécification pour plus d'informations sur les noms d'algorithmes.
#
# Remarque : si un algorithme existant est également restreint via la propriété
# jdk.tls.disabledAlgorithms ou la
# java.security.AlgorithmConstraints API (Voir
# javax.net.ssl.SSLParameters.setAlgorithmConstraints()),
# alors l'algorithme est complètement désactivé et ne sera pas négocié.
#
# 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.
# Il n'y a aucune garantie que la propriété continuera d'exister ou aura la
# même syntaxe dans les versions futures.
#
# Exemple :
#   jdk.tls. LegacyAlgorithms=DH_anon, DES_CBC, SSL_RSA_WITH_RC4_128_MD5
#
jdk.tls.legacyAlgorithms=NULL, anon, RC4, DES, 3DES_EDE_CBC

#
# Les paramètres éphémères Diffie-Hellman (DHE) à champ fini par défaut prédéfinis
# paramètres pour le traitement de la sécurité de la couche de transport (SSL/TLS/DTLS).
#
# Dans les connexions SSL/TLS/DTLS traditionnelles où le champ fini DHE paramètres
# le mécanisme de négociation n'est pas utilisé, le serveur propose au groupe client
# paramètres, générateur de base g et module premier p, pour l'échange de clés DHE.
# Il est recommandé d'utiliser des paramètres de groupe dynamiques.  Cette propriété définit
# un mécanisme qui vous permet de spécifier des paramètres de groupe personnalisés.
#
# La syntaxe de cette chaîne de propriété est décrite comme ceci Java BNF-style :
#   DefaultDHEParameters:
#       DefinedDHEParameters { , DefinedDHEParameters }
#
# ParamètresDHEP définis :
#       "{" DHEPrimeModulus , DHEBaseGenerator "}"
#
#   DHEPrimeModulus :
#       HexadecimalDigits
#
#   DHEBaseGenerator:
#       HexadecimalDigits
#
#   HexadecimalDigits :
#       HexadecimalDigit { HexadecimalDigit }
#
#   HexadecimalDigit : un of
#       0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f
#
# Les caractères d'espacement sont ignorés.
#
# Les "DefinedDHEParameters" définissent les paramètres de groupe personnalisés, prime
# module p et générateur de base g, pour un taille particulière du module premier p.
# Le "DHEPrimeModulus" définit le module premier hexadécimal p, et le
# "DHEBaseGenerator" définit le générateur de base hexadécimal g d'un paramètre de groupe
#.  Il est recommandé d'utiliser des valeurs primes sûres pour les paramètres de groupe
# personnalisés.
#
# Si cette propriété n'est pas définie ou si la valeur est vide, le paramètre de groupe par défaut du fournisseur JSSE
# sous-jacent est utilisé pour chaque connexion.
#
# Si la valeur de la propriété ne suit pas la grammaire, ou si un paramètre group
# particulier n'est pas valide, la connexion reviendra et utilisera le
# paramètre de groupe par défaut du fournisseur JSSE sous-jacent.
#
# Remarque : Cette propriété est actuellement utilisée par Implémentation JSSE d'OpenJDK. Il
# n'est pas garanti qu'il soit examiné et utilisé par d'autres implémentations.
#
# Exemple :
#   jdk.tls.server.defaultDHEParameters=
#       {
#       FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1
#       29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD
#       EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245
#       E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED
#       EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE65381
#       FFFFFFFF FFFFFFFF, 2}

#
# Limites de clé TLS sur les algorithmes cryptographiques symétriques
#
# Cette propriété de sécurité définit des limites sur l'utilisation des clés des algorithmes dans TLS 1.3.
# Lorsque la quantité de données cryptées dépasse la valeur de l'algorithme répertoriée ci-dessous,
# un message KeyUpdate déclenchera un changement de clé.  Ceci concerne les chiffrements symétriques
# avec TLS 1.3 uniquement.
#
# La syntaxe de la propriété est décrite ci-dessous :
#   KeyLimits:
#       " KeyLimit { , KeyLimit } "
#
#   WeakKeyLimit:
#       AlgorithmName Action length
#
#   AlgorithmName :
#       Une transformation complète de l'algorithme.
#
#   Action :
#       KeyUpdate
#
#   Longueur :
#       La quantité de données chiffrées dans une session avant que l'action ne se produise
#       Cette valeur peut être une valeur entière en octets, ou sous la forme d'une puissance de deux, 2^29.
#
#   KeyUpdate :
#       Le processus de prise de contact TLS 1.3 KeyUpdate commence lorsque le montant de longueur
#       est rempli.
#
# Remarque : Cette propriété est actuellement utilisée par Implémentation JSSE d'OpenJDK. Il n'est pas garanti qu'il
# soit examiné et utilisé par d'autres implémentations.
#
jdk.tls.keyLimits=AES/GCM/NoPadding KeyUpdate 2^37

#
# Valeurs par défaut de la politique de juridiction cryptographique
#
# Les règles de contrôle des importations et des exportations sur les logiciels cryptographiques varient d'un
# pays à l'autre.  Par défaut, Java fournit deux ensembles différents de
# fichiers de stratégie cryptographique[1] :
#
#     illimité :  Ces fichiers de stratégie ne contiennent aucune restriction sur les forces ou les algorithmes cryptographiques
#                🎜🎜##
#    limité :    Ces fichiers de stratégie contiennent des éléments cryptographiques plus restreints
#                 points forts
#
# Le paramètre par défaut est déterminé par la valeur de "crypto.policy"# 🎜🎜## Propriété sécurisée ci-dessous. Si votre pays ou votre utilisation nécessite la
# politique restrictive traditionnelle, la politique cryptographique Java "limitée"
# est toujours disponible et peut être appropriée à votre environnement.
#
# Si vous avez des restrictions qui ne correspondent à aucun des cas d'utilisation mentionnés
# ci-dessus, Java offre la possibilité de personnaliser ces fichiers de stratégie.
# La propriété de sécurité "crypto.policy" pointe vers un sous-répertoire
# dans /conf/security/policy/ qui peut être personnalisé.
# Veuillez consulter le fichier /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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Nombre parfait en Java Nombre parfait en Java Aug 30, 2024 pm 04:28 PM

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Générateur de nombres aléatoires en Java Générateur de nombres aléatoires en Java Aug 30, 2024 pm 04:27 PM

Guide du générateur de nombres aléatoires en Java. Nous discutons ici des fonctions en Java avec des exemples et de deux générateurs différents avec d'autres exemples.

Weka en Java Weka en Java Aug 30, 2024 pm 04:28 PM

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Numéro de Smith en Java Numéro de Smith en Java Aug 30, 2024 pm 04:28 PM

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Questions d'entretien chez Java Spring Questions d'entretien chez Java Spring Aug 30, 2024 pm 04:29 PM

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Break or Return of Java 8 Stream Forach? Break or Return of Java 8 Stream Forach? Feb 07, 2025 pm 12:09 PM

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Horodatage à ce jour en Java Horodatage à ce jour en Java Aug 30, 2024 pm 04:28 PM

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.

Programme Java pour trouver le volume de la capsule Programme Java pour trouver le volume de la capsule Feb 07, 2025 am 11:37 AM

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4

See all articles