Java的密钥库jks文件放在/src/main/resources目录下,到了编译的时候,就会自动增长变大,导致java读取keystore文件异常,爆出
java.io.IOException:Invalid keystore format ...
的异常.
这个问题困扰了很久,在以前的项目中就出现过一次,当时由于项目很紧急,就把jks文件放在了/src/main/java目录下,这样就不会变化了.当时就觉得很邪门,见鬼了
今天又出现了一次,这次我早把上次的解决方案忘得一干二净,上网google了半天,最后从
http://stackoverflow.com/questions/19500458/maven-resource-binary-changes-file-size-after-build
和
http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html
找到了原因,是maven管理的/src/main/resources目录下,会把文件里面的占位符替换,不知道jks文件里面是不是也有很多这样的字符,反正是这个影响的,
解决方案就是要在pom.xml文件中加入禁止maven擅作主张修改资源文件的限制
- <build>
- <resources>
- <resource>
- <!-- 防止JKS被maven错误解析 -->
- <directory>src/main/resources</directory>
- <filtering>false</filtering>
- </resource>
- </resources>
- </build>
重新clean过后就可以了
后面的一些时候,发现上面配置有些时候也没有用,不知道是环境问题还是怎么的,后来又google到一个方法
http://stackoverflow.com/questions/19500458/maven-resource-binary-changes-file-size-after-build
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>p12</nonFilteredFileExtension>
<nonFilteredFileExtension>jks</nonFilteredFileExtension>
</nonFilteredFileExtensions> </configuration> </plugin> </plugins></build>
这个p12是后缀的意思,不想让他去修改什么文件,就在这里面添加条目即可
相关推荐
JKS 和 JCEKS 是 Java 密钥库(KeyStore)的两种比较常见类型。JKS 的 Provider 是 SUN,在每个版本的 JDK 中都有,JCEKS 的 Provider 是 SUNJCE,1.4 后我们都能够直接使用它。JCEKS 在安全级别上要比 JKS 强,使用...
而`bks`(Bouncy Castle Key Store)文件是Android系统中广泛使用的另一种类型的密钥库,它同样用于存储证书和私钥,但它是基于开源的Bouncy Castle加密库。 `jks`到`bks`的转换过程通常是为了适应Android系统的...
openssl 生成 client.jks 与 server.jks 文件的方法 在 WS 安全性设计中,使用 OpenSSL 生成 client.jks 与 server.jks 文件是非常必要的。下面我们将详细介绍如何使用 OpenSSL 生成这两个文件。 Step 1: 创建证书...
SSL证书的转换涉及到不同类型的密钥库文件,如jks和kdb,它们在不同的环境中有不同的用途。在本文中,我们将深入探讨如何将jks文件转换为kdb格式,这通常是为了适应IBM HTTP Server的SSL配置。 首先,jks是Java Key...
Java_keytool密钥存储文件 Java_keytool密钥存储文件是使用Java_keytool工具生成服务器配置SSL使用的密钥存储文件。该文件是一个容器,用于存储密钥和证书,它是SSL/TLS加密协议的基础组件。本文将详细介绍生成密钥...
JKS是Java密钥库,是Oracle Java平台的标准密钥存储格式。而Keystore是一个更通用的术语,可以指代任何类型的密钥存储,包括JKS格式。在Android开发中,通常使用JKS文件,因为Android SDK工具直接支持这种格式。 在...
使用`keytool`,开发者可以生成一个新的密钥对,然后将公钥证书导入JKS文件,私钥则保留在密钥库中,用于签署APK。 生成JKS文件的基本步骤如下: 1. **创建JKS文件**:使用`keytool -genkeypair`命令生成一个新的...
**JKS** (Java Keystore)是一种特定于Java平台的密钥和证书存储格式,主要用于存储Java应用程序所需的密钥对和证书。 **特点**: - 可以存储多个密钥对和证书。 - 提供了密码保护机制,确保密钥的安全性。 - JKS文件...
相比之下,JKS是Java平台的密钥库格式,用于存储各种安全凭证,包括私钥、公钥、证书和信任锚点。它是Java标准版(Java SE)的一部分,主要用于Java应用程序和服务器的密钥管理。JKS文件通常以.jks为扩展名,它的...
在Java开发中,密钥库是存储公钥、私钥、证书等安全信息的文件,而JKS(Java KeyStore)是Java平台默认使用的密钥库格式。然而,在Android平台上,出于兼容性和性能考虑,它更倾向于使用BKS(Bouncy Castle KeyStore...
"jks2pfx工具"就是专门用来将JKS文件转换成PFX文件的实用工具,这对于那些需要在非Java环境中使用Java密钥库的用户来说非常方便。 首先,我们要了解JKS和PFX的区别。JKS是Java提供的一个安全存储库,用于存放用户的...
在这个场景中,我们关注的是如何在Tomcat 9.0服务器上安装JKS(Java Key Store)格式的SSL证书,这是Java平台用于存储密钥对的标准格式。 首先,我们需要理解JKS(Java Key Store)是什么。JKS是一个存储密钥对和...
JKS是Java平台上的标准密钥库格式,它存储了公钥、私钥对以及信任的根证书。通常,JKS用于Java应用程序和服务器,如Apache Tomcat或IBM WebSphere。而PFX文件格式则被广泛用于Windows环境,尤其是在需要将私钥和证书...
解决jdk11生成的jks文件在jdk8版本中打不开问题
总之,这个“java下做WSS签名小工具”是一个实用的解决方案,它简化了在Java环境中处理WSS签名的过程,包括密钥管理、格式转换和操作脚本,对于需要确保Web服务安全性的开发者来说是非常有价值的。
JKS 密钥库使用专用格式。建议使用 “keytool -importkeystore -srckeystore E:\lvchuang\lvchuang.jks -destkeystore E:\lvchuang\lvchuang.jks -deststoretype pkcs12” 迁移到行业标准格式 PKCS12。 谈出来的图片...
在 Java 程序中,可以使用 jks 文件来存储公钥和私钥,并使用 keytool.exe 工具来查看、导入、导出和删除密钥。对于 HTTPS 网站,可以使用 jks 文件来存储站方公钥,以便Java程序可以正常访问该网站。 密钥、密钥对...
**Java Keystore (JKS)**是一种存储证书和密钥的标准格式,主要由Java应用程序使用。它包含一个或多个证书和私钥,通常用于HTTPS连接的安全设置。 **Nginx所需证书格式**包括两部分:.crt文件(公钥证书文件)和.key...
首先,你需要将服务器的证书导入到一个信任库文件(如JKS或PKCS12格式),然后创建一个`SSLContext`对象,并设置自定义的`TrustManager`。这通常涉及以下步骤: - 导入证书:使用`keytool`命令行工具将服务器证书...
在Java开发过程中,使用文件I/O操作时遇到java.io.FileNotFoundException异常是一个比较常见的问题。即使文件路径正确无误,也可能会因为多种原因导致这个异常的发生。该异常属于编译时异常,即必须显式处理才能通过...