Une note sur "Ne pas émettre une erreur de certificat avec un certificat auto-signé à l'aide de Keytool Java"

un événement

Dans Chrome58 et versions ultérieures, une correspondance entre le nom CN et le nom d'hôte demandé n'est pas considérée comme une connexion sécurisée et ERR_CERT_COMMON_NAME_INVALID est renvoyé. Par exemple, lors de l'accès avec https: // localhost avec un certificat émis avec CN = localhost.

Raison

Depuis Chrome58, la zone d'extension du certificat V3: nom DNS est également vérifiée. Qiita: Comment créer un certificat oleore qui ne se fâchera pas contre Chrome

Prise en charge et restrictions de Keytool

Spécifiez également DNS comme option lors de l'émission d'un certificat auto-signé avec keytool. À ce moment-là, le nom de domaine est toujours au format A.B.C ou A.B.C.D. En raison des restrictions keytool, il semble que vous ne puissiez pas spécifier de caractères génériques ou de formats de suffixe commençant par.

keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 
-ext san=dns:sample.localhost.com -keystore "tomcat.jks" -validity 3650

(En fait sur une seule ligne)

Veuillez saisir le mot de passe du fichier de clés:(Mot de passe du fichier de clés)
Veuillez saisir à nouveau votre nouveau mot de passe:(Mot de passe du fichier de clés)
Quel est votre nom et prénom?
  [Unknown]:  sample.localhost.com (Nom d'hôte pour la vérification)
Quel est le nom de l'unité organisationnelle?
  [Unknown]:  Capybara
Quel est le nom de l'organisation?
  [Unknown]:  Capybara
Quel est le nom de la ville ou de la région?
  [Unknown]:  Shinagawa
Quel est l'état ou le nom de l'état?
  [Unknown]:  Tokyo
Quel est le code du pays à deux lettres pour cet appareil?
  [Unknown]:  JP
CN=sample.localhost.com, OU=Capybara, O=Capybara, L=Shinagawa, ST=Tokyo, C=Êtes-vous sûr de vouloir JP?
[Non]:  y

Après la publication, appliquez ce keystore tomcat.jks à n'importe quel conteneur de servlet et démarrez-le. À ce stade, enregistrez sample.localhost.com dans le fichier hosts afin qu'il devienne localhost (127.0.0.1).

Recommended Posts

Une note sur "Ne pas émettre une erreur de certificat avec un certificat auto-signé à l'aide de Keytool Java"
Une erreur 404 se produit lors du test de l'authentification par formulaire avec Spring Security
[Visual Studio Code] J'obtiens une erreur de syntaxe lors de l'exécution du débogage lors de l'utilisation de rbenv
J'obtiens une erreur lors de l'ajout d'une dépendance
Après avoir renouvelé le certificat avec CircleCI × fastlane, j'obtiens un état de sortie: erreur 65.
J'obtiens une erreur de version de Ruby lorsque j'essaye de démarrer Rails.
Que faire quand est invalide car il ne commence pas par un "-"
Que faire si vous obtenez une erreur indiquant "Veuillez saisir une valeur valide" lors de l'obtention avec Rails datetime_field
Que faire si le message d'erreur "Impossible de trouver un moteur d'exécution JavaScript" s'affiche lors du démarrage du serveur rails
Notez que j'étais accro au traitement par lots avec Spring Boot
Mémo à faire pour le moment lors de la construction de la série CentOS 6 avec VirtualBox
Quand je bcrypt avec node + docker, j'ai une erreur
Un mémo lors de l'obtention du numéro entrant à l'aide de Broadcast Receiver sur Android 9/10 ne fonctionne pas