Windows生成SSL证书配置使用https协议

有时候在本地搞个http转https协议耍耍,购买域名又有点不划算,openssl和网络上的工具又有点花里胡哨,就找到了这个方法,简单易上手,使用java自带的keytool.exe(jdk1.4之后)工具生成SSL证书。
自己在做demo项目可以,做生产还是建议购买正规域名。

1,生成证书(demo.p12)

1.1,在jdk的bin目录下,打开cmd窗口并执行命令,生成.p12文件后建议留个备份

keytool.exe -genkey -alias demo -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore demo.p12 -validity 3650
示例

在这里插入图片描述

1.2,命令参数说明

-genkey: 生成SSL证书
-alias: 证书别名 后面配置要用
-storetype: 秘钥仓库类型
-keyalg: 生成证书算法
-keysize: 证书大小
-keystore: 生成证书保存路径
-validity: 证书有效期

2,spring boot的相关配置

2.1,application.yml

server:
  port: 8080
  ssl:
    key-store: D:/SoftwareForJava/demo.p12	#证书路径+文件名称,我这里是本地项目,写的是绝对路径,可以考虑用classpath指定路径
    key-store-type: PKCS12	#密钥文件类型,可不写
    key-store-password: ggbbk123456	#密码,这里是上面设置的密钥
    key-alias: demo	#证书别名
    enabled: true	

2.2,pom.xml

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<configuration>
					<encoding>UTF-8</encoding>
					<!-- 过滤后缀为pem、pfx的证书文件 -->
					<nonFilteredFileExtensions>
						<nonFilteredFileExtension>p12</nonFilteredFileExtension>
						<nonFilteredFileExtension>pem</nonFilteredFileExtension>
						<nonFilteredFileExtension>pfx</nonFilteredFileExtension>
					</nonFilteredFileExtensions>
				</configuration>
			</plugin>
		</plugins>
	</build>

3,碰到的问题

3.1,生成证书时,最后提示被拒绝

本人的JDK是安装在C盘,这个位置是不被允许的,换了D盘的就好了,我使用的是IDEA的keytool.exe
在这里插入图片描述

3.2,启动报错,提示too big

在build标签里加上

        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
            </resource>
        </resources>      

.p12文件是无需maven编译的,filtering标签默认是false但不排除特殊情况(特别是在公司里),注意报错后此被引用的文件已经损坏;
加上此配置后记得把备份复制过来覆盖之前读取的文件。

这时候就可以在本地使用https协议了:

http://localhost:8080 ==>>	https://localhost:8080

感谢这位大佬提供的思路:

https://blog.csdn.net/weixin_42009068/article/details/104749324
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值