Cannot load keys from store: class path resource [keystore.jks]
出现这个问题,有两种可能:
第一:keystore文件被修改了;
第二:别名错误?
关于第一种可能,网上已经有解决办法,那就是在pom中加入如下resources中的配置即可
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> <finalName>mySpringCloudOAuth2Service</finalName> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <excludes> <exclude>**/*.jks</exclude> </excludes> </resource> </resources> </build>
而第二种是我发现我即使加上了上面的配置,依然是无法解决我的问题的
一个偶然的机会我看到
KeyPair org.springframework.security.oauth2.provider.token.store.KeyStoreKeyFactory.getKeyPair(String alias)
很明显,传入的参数是别名,因此我将代码中的这个方法中的参数改为别名即可成功
下面我们回过头看看我是如何创建keystore文件的
以下是利用java jdk中的keytool工具生成keystore文件,我们注意到别名是keystore.jks
D:\Program Files\Java\jdk1.8.0_121\bin>keytool -genkey -alias keystore.jks -keyalg RSA -validity 20000 -keystore keystore.jks
爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情