0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用JDK自带的工具生成证书

Android编程精选 来源:Android编程精选 作者:Android编程精选 2022-09-27 09:59 次阅读

文章目录

使用JDK自带的工具生成证书

使用FreeSSL提供的证书

使用JDK自带的工具生成证书

1.确保安装了JDK并正确配置了环境变量;

2.进入你的JAVA_HOME目录中的bin目录;

3.在这个目录下执行

//keytool-genkey-alias(别名)-dname"CN=(姓名),OU=(组织单位名称),O=(组织名称),L=(城市名称),ST=(省),C=(国家)"-storetype(密钥仓库类型)-keyalg(生证书的算法名称)-keysize(密钥长度,证书大小)-keystore(指定生成证书的位置和证书名称)-validity(证书有效期,天单位)
keytool-genkey-aliasuublog-dname"CN=Lhc,OU=SCYD,O=SCYD,L=CD,ST=SiChuan,C=CN"-storetypePKCS12-keyalgRSA-keysize2048-keystorekeystore.p12-validity365

4.获取名为keystore.p12的证书,将其放入resources目录中,并在application.properties或application.yml中配置

#https端口号.
server.port:443
#证书的路径.
server.ssl.key-store:classpath:keystore.p12
#证书密码,请修改为您自己证书的密码.
server.ssl.key-store-password:123456
#秘钥库类型
server.ssl.keyStoreType:PKCS12
#证书别名
#server.ssl.keyAlias:uublog

若指定的端口非443,则在访问的时添加具体的端口号

5.将http重定向到https

packagecom.lhc.uublog.utils;

importorg.apache.catalina.Context;
importorg.apache.catalina.connector.Connector;
importorg.apache.tomcat.util.descriptor.web.SecurityCollection;
importorg.apache.tomcat.util.descriptor.web.SecurityConstraint;
importorg.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
importorg.springframework.context.annotation.Bean;
importorg.springframework.context.annotation.Configuration;

/**
*@ProjectName:uublog
*@Package:com.lhc.uublog.utils
*@ClassName:SSLUtils
*@Author:lhc
*@Description:Http重定向到Https
*/
@Configuration
publicclassSSLUtils{

@Bean
publicConnectorconnector(){
Connectorconnector=newConnector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setSecure(false);
connector.setPort(80);
connector.setRedirectPort(443);
returnconnector;
}

@Bean
publicTomcatServletWebServerFactorytomcatServletWebServerFactory(Connectorconnector){
TomcatServletWebServerFactorywebServerFactory=newTomcatServletWebServerFactory(){
@Override
protectedvoidpostProcessContext(Contextcontext){
SecurityConstraintsecurityConstraint=newSecurityConstraint();
securityConstraint.setUserConstraint("CONFIDENTIAL");
SecurityCollectionsecurityCollection=newSecurityCollection();
securityCollection.addPattern("/*");
securityConstraint.addCollection(securityCollection);
context.addConstraint(securityConstraint);
}
};
webServerFactory.addAdditionalTomcatConnectors(connector);
returnwebServerFactory;
}
}

6.部署

若部署环境为windows,直接启动即可;若部署环境是Linux,先开通443端口,在进行部署

#判断443端口是否已经开放
firewall-cmd--query-port=443/tcp
#若未开放,则配置开启,并重新加载配置
firewall-cmd--add-port=443/tcp--permanent
firewall-cmd--reload

7.以JDK生成证书的方式足够简单,但在Chrome和Edge浏览器上依旧显示不安全,因此下面就使用FreeSSL提供的免费证书

74f6822e-3d8f-11ed-9e49-dac502259ad0.png图片 750ba14a-3d8f-11ed-9e49-dac502259ad0.png图片

使用FreeSSL提供的证书

FreeSSL.cn 是一个免费提供 HTTPS 证书申请、HTTPS 证书管理和 HTTPS 证书到期提醒服务的网站,旨在推进 HTTPS 证书的普及与应用,简化证书申请的流程。

1.首先你得有一个域名,推荐国外的GoDaddy,价格合适且不需要备案就可以进行解析;

752d2360-3d8f-11ed-9e49-dac502259ad0.png图片 755a05c4-3d8f-11ed-9e49-dac502259ad0.png图片

2.FreeSSL网站上有对不同品牌的介绍了和证书生成方式的介绍,请参阅网站;

3.一顿操作之后,相信你已经下载证书到本地了,将证书放入resources目录中,并在配置文件中添加配置

#https端口号.
server.port:443
#证书的路径.
server.ssl.key-store:classpath:***.jks
#证书密码,请修改为您自己证书的密码.
server.ssl.key-store-password:***
#秘钥库类型
server.ssl.keyStoreType:JKS

4.将http重定向到https,代码同上

5.打包并部署

75939b40-3d8f-11ed-9e49-dac502259ad0.png图片 75aa23f6-3d8f-11ed-9e49-dac502259ad0.png图片

通过查看日志,http请求成功重定向到到了https,在Chrome浏览器中也标示为安全网站

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • WINDOWS
    +关注

    关注

    3

    文章

    3440

    浏览量

    87142
  • 端口
    +关注

    关注

    4

    文章

    820

    浏览量

    31585
  • JDK
    JDK
    +关注

    关注

    0

    文章

    77

    浏览量

    16489

原文标题:SpringBoot 配置 HTTPS 安全证书的两种方案

文章出处:【微信号:AndroidPush,微信公众号:Android编程精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    生成可执行文件后,如何取消labview自带工具栏?

    生成可执行文件后,只有点击labview自带工具栏中的“启动”键才可以运行。请问如何取消这几个键,用自己设置的“运行”按钮启动?
    发表于 08-01 09:27

    JDK11主要工具

    JDK11的工具的命令参考
    发表于 08-13 08:21

    HarmonyOS应用开发-生成签名证书指纹

    创建应用程序的签名证书。2.当前PC已经安装JDK。操作步骤如下:1.执行CMD命令打开命令行工具,执行cd命令进入keytool.exe所在的目录(以下样例为JDK安装在C盘的Pro
    发表于 01-11 10:39

    看看基于JDK自带JVM工具的用法

    进行分析和解决,不过这些需要对基础工具熟练使用才行,而很多JDK自身的能力又是经常被忽略的;在jdk的bin目录中,有很多自带工具可以用于对JVM的分析;上述是基于
    发表于 11-16 15:30

    画图工具(windows XP自带的画图工具)下载

    画图工具(windows XP自带的画图工具)是画图”是个画图工具,您可以用它创建简单或者精美的图画。这些图画可以是黑白或彩色的并可以存为位图文件。可以打印绘图,将它作为桌面
    发表于 10-04 09:56 2w次下载
    画图<b class='flag-5'>工具</b>(windows XP<b class='flag-5'>自带</b>的画图<b class='flag-5'>工具</b>)下载

    状态机代码生成工具

    状态机代码生成工具状态机代码生成工具状态机代码生成工具状态机代码
    发表于 11-19 15:12 9次下载

    LCD图形生成工具

    LCD图形生成工具
    发表于 12-01 16:44 13次下载

    LabVIEW 网络讲坛第四季:LabVIEW自带工具自动生成和修改VI的演示

    本集视频主要通过软件demo演示了LabVIEW可以自带工具自动生成或修改VI。
    的头像 发表于 06-25 13:04 2927次阅读
    LabVIEW 网络讲坛第四季:LabVIEW<b class='flag-5'>自带工具</b>自动<b class='flag-5'>生成</b>和修改VI的演示

    虚拟机:Linux生成自签名SSL证书

    虚拟机:Linux生成自签名SSL证书
    的头像 发表于 07-02 16:34 4324次阅读

    Java开发工具JDK1.8D安装说明书

    本文档的主要内容介绍的是Java开发工具JDK1.8D安装说明书资料免费下载。
    发表于 07-16 08:00 33次下载
    Java开发<b class='flag-5'>工具</b>包<b class='flag-5'>JDK</b>1.8D安装说明书

    虚拟串口生成工具

    虚拟串口生成工具
    发表于 04-28 13:56 5次下载

    JDK11升级JDK17最全实践

    2021年9月14日,Oracle发布了可以长期支持的JDK17版本,那么从JDK11到JDK17,到底带来了哪些特性呢?亚毫秒级的ZGC效果到底怎么样呢?值得我们升级吗?而且升级过程会遇到哪些问题呢?带着这些问题,本篇文章将带
    的头像 发表于 11-17 10:36 716次阅读
    <b class='flag-5'>JDK</b>11升级<b class='flag-5'>JDK</b>17最全实践

    weblogic修改jdk路径

    )路径的情况。本文将详细介绍如何在WebLogic中修改JDK路径。 一、背景介绍 Java Development Kit(JDK)是Java开发人员必备的工具包,用于编译、运行和调试Java程序
    的头像 发表于 12-05 14:46 486次阅读

    idea的jdk配置在哪

    在开发Java应用程序时,我们通常需要配置Java开发工具包(JDK),以便能够在我们的集成开发环境(IDE)中编写和运行Java代码。本文将详细介绍如何在Idea中配置JDK,并提供相关细节的说明
    的头像 发表于 12-06 15:04 926次阅读

    如何配置jdk的环境变量

    配置JDK的环境变量是在操作系统中设置一些路径,以便能够在命令提示符或终端中全局运行Java开发工具。这样,您可以在任何位置运行Java程序。 以下是一步一步的指南来配置JDK的环境变量。 第一步
    的头像 发表于 12-06 15:07 431次阅读