admin管理员组

文章数量:1619183


🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁

🐅🐾猫头虎建议程序员必备技术栈一览表📖:


🛠️ 全栈技术 Full Stack:
📚 MERN/MEAN/MEVN Stack | 🌐 Jamstack | 🌍 GraphQL | 🔁 RESTful API | ⚡ WebSockets | 🔄 CI/CD | 🌐 Git & Version Control | 🔧 DevOps


🌐 前端技术 Frontend:
🖋️ HTML & CSS | 🎮 JavaScript (ES6/ES7/ES8) | ⚛️ React | 🖼️ Vue.js | 🔺 Angular | 🌪️ Svelte | 📦 Webpack | 🚀 Babel | 🎨 Sass/SCSS | 📱 Responsive Design


💡 后端技术 Backend:
🟢 Node.js | 🚂 Express.js | 🐍 Django | 💎 Ruby on Rails | 🌱 Spring Boot | 🚀 Go (Golang) | 🔥 Flask | 🎯 .NET Core | ☕ Java | 🐘 PHP


🤖 人工智能 AI:
🧠 Machine Learning | 🔍 Deep Learning | ⚙️ TensorFlow | 🔥 PyTorch | 🌀 Keras | 🗣️ NLP | 👁️ Computer Vision | 🎮 Reinforcement Learning | 📊 Scikit-learn | 🤖 GPT


☁️ 云原生技术 Cloud Native:
🐳 Docker | ☸️ Kubernetes | ⛵ Helm | 🔥 Serverless | 🌩️ AWS Lambda | ☁️ Google Cloud Functions | 📦 Microservices | 🚀 Envoy | 🌐 Istio | 📊 Prometheus

🦄 博客首页——🐅🐾猫头虎的博客🎐
🐳 《面试题大全专栏》 🦕 文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺
🌊 《IDEA开发秘籍专栏》 🐾 学会IDEA常用操作,工作效率翻倍~💐
🌊 《100天精通Golang(基础入门篇)》 🐅 学会Golang语言,畅玩云原生,走遍大小厂~💐


🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🐅🐾🍁🐥


文章目录

    • SSLHandshakeException: No appropriate protocol
    • 方法一
    • 方法二
    • 方法三
        • 好了,以上就是解决开头提到问题的详细方法了。当然,我使用的是`方法一`,我觉得它够灵活,好配置,好复制。
  • 原创声明

SSLHandshakeException: No appropriate protocol

最近 很多 询问关于 DataGrip或其他JetBrains`家IDE的MySQL数据库配置中报错的问题。具体的报错信息大概是这样的:

javax.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
			The following required algorithms might be disabled: SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, include jdk.disabled.namedCurves. Edit the list of disabled algorithms to include required algorithms. You can try to enable TLSv1 or TLSv1.1 first.
			JDBC driver may have disabled TLS 1.1 and its earlier versions.

这个问题我在IDE更新至2021.2配置数据库时也曾遇到过,当时随手给解决了,以为这个问题并不需要记录。
故而我做了个决定(并不违背祖宗):把我解决问题的办法记录下来,以供大家参考。

方法一

  • 建立一个文件(我放在~/.custom.java.security,记住这个路径),内容如下:

    jdk.tls.disabledAlgorithms=SSLv3, TLSv1.1, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, include jdk.disabled.namedCurves
    
  • 在IDE配置数据源时,点击Advanced选项卡,在VM options:中输入(其中=后填写上面那个绝对路径):

    "-Djava.security.properties=${HOME}/.custom.java.security"
    
  • OK按钮,现在就可以愉快的操作数据库了。

方法二

  • 在IDE配置数据源时,点击Advanced选项卡,在VM options:中输入(其实基本就是方法一的文件内容):

    "-Djdk.tls.disabledAlgorithms=SSLv3, TLSv1.1, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, include jdk.disabled.namedCurves"
    
  • OK按钮,现在就可以愉快的操作数据库了。

方法三

  • 配置全局的java.security.properties,内容也就是上面那些。不过,此法侵入性太高,不够灵活。这里不详细介绍,感兴趣自己去试试。
好了,以上就是解决开头提到问题的详细方法了。当然,我使用的是方法一,我觉得它够灵活,好配置,好复制。

原创声明

======= ·

  • 原创作者: 猫头虎

作者wx: [ libin9iOak ]

学习复习

本文为原创文章,版权归作者所有。未经许可,禁止转载、复制或引用。

作者保证信息真实可靠,但不对准确性和完整性承担责任

未经许可,禁止商业用途。

如有疑问或建议,请联系作者。

感谢您的支持与尊重。

点击下方名片,加入IT技术核心学习团队。一起探索科技的未来,共同成长。

本文标签: SSLHandshakeExceptionprotocol