[Résolu] Socket SSL et Let's encrypt
Bonjour,
J'ai un soucis avec l'application Blynk qui est écrite en Java.
N'ayant pas de connaissance particulière sur l'écosystème de Java, je recherche un peu d'aide.
Jusqu'ici l'application fonctionnait correctement avec un certificat Let's encrypt mais depuis le dernier renouvellement l'application génère une exception :
Citation:
Exception in thread “main” java.lang.RuntimeException: failed to initialize the server-side SSL context
at cc.blynk.server.SslContextHolder.initSslContext(SslContextHolder.java:137)
at cc.blynk.server.SslContextHolder.(SslContextHolder.java:83)
at cc.blynk.server.Holder.(Holder.java:156)
at cc.blynk.server.launcher.ServerLauncher.start(ServerLauncher.java:95)
at cc.blynk.server.launcher.ServerLauncher.main(ServerLauncher.java:73)
Toutefois, l'application ne génère pas d'exception si j'utilise un certificat périmé. Évidemment, je sais que cela crée des problèmes de sécurité mais cela semble indiquer un problème quelconque de certificat.
Je vous joins le code de la fonction qui génère l'exception et il me semble que c'est la fonction en ligne 134 qui en est à l'origine.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| 118 private static SslContext initSslContext(String serverCertPath, String serverKeyPath, String serverPass,
119 SslProvider sslProvider) {
120 try {
121 File serverCert = new File(serverCertPath);
122 File serverKey = new File(serverKeyPath);
123
124
125 if (!serverCert.exists() || !serverKey.exists()) {
126 log.warn("ATTENTION. Server certificate paths (cert : '{}', key : '{}') not valid."
127 + " Using embedded server certs and one way ssl. This is not secure."
128 + " Please replace it with your own certs.",
129 serverCert.getAbsolutePath(), serverKey.getAbsolutePath());
130
131 return build(sslProvider);
132 }
133
134 return build(serverCert, serverKey, serverPass, sslProvider);
135 } catch (CertificateException | SSLException | IllegalArgumentException e) {
136 log.error("Error initializing ssl context. Reason : {}", e.getMessage());
137 throw new RuntimeException(e.getMessage());
138 }
139 } |
Quand pensez-vous ?
D'avance merci de votre aide.
Thoma