前言#1:这里可以找到一些一般性的(但不完整的)说明。
前言#2:以下要求具有FIPS 140-2认证模块的OpenSSL。在Ubuntu上,这些仅适用于Ubuntu16.04上的“Ubuntu Advantage高级客户”!看这里和这里。
$sudo apt install libapr1 libapr1-dev
(这里可能是sudo apt install libapr1-dev libssl-dev
,请参见此处)tomcat-native-1.2.23-src/native/
$。/configure--with-apr=/usr/bin/apr-1-config--with-java-home=/path/to/java-home/--with-ssl=yes
$make
-djava.library.path=/path/to/tomcat-native-1.2.23-src/native/.libs
添加到jvm argsimport org.apache.catalina.core.AprLifecycleListener;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.server.Ssl;
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class AprConfig {
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() {
@Override
public Ssl getSsl() {
// avoid "IllegalStateException: To use SSL, the connector's protocol handler must be an AbstractHttp11JsseProtocol subclass":
return null;
}
};
// enable APR:
factory.setProtocol("org.apache.coyote.http11.Http11AprProtocol");
AprLifecycleListener aprLifecycleListener = new AprLifecycleListener();
// will throw "FIPS was not available to tcnative at build time. You will need to re-build tcnative against an OpenSSL with FIPS." with default OpenSSL:
aprLifecycleListener.setFIPSMode("on");
factory.addContextLifecycleListeners(aprLifecycleListener);
return factory;
}
}
运行完全符合FIPS的Spring Boot应用程序需要
我希望通过调用不同的服务来加载应用程序启动时的数据,这些服务返回不同对象类型的列表。每个服务调用DAO类来读取一些数据。因此,我创建了个人如: 并将它们结合起来,如: 如果我这样做: 然后我得到了编译时错误。我不熟悉Java 8的并发特性,例如,我认为调用将在不同的线程中运行每个。调用是否正确?如果是,那么如何删除编译时错误? 但是如果我做了这样的事情: 它正在返回
我想在我的Java应用程序中实现SCP(安全复制)功能,将文件从SSH服务器复制到另一台机器。我的java应用程序必须符合FIPS,因此它使用SunPKCS11提供程序与底层NSS密钥数据库接口。 为了实现SCP功能,我们可以为Java使用以下任何SSH库: JSch公司 关于这些SSH库,我有以下问题: 上述任何图书馆是否经过FIPS认证 如果未通过FIPS认证,算法(密码、密钥交换、MAC等)
我试图在SpringMVC中运行SpringBoot应用程序,在SpringMVCPOM中添加SpringBoot应用程序依赖项,并扫描SpringBoot包,但我面临以下问题
我在我的项目中使用带有MongoDb和Elasticsearch的Springboot。当我的Elasticsearch服务器运行时,我的Springboot应用程序运行良好,但当Elasticsearch服务器停止时,我的Springboot应用程序也无法启动。根据我的项目要求,即使Elasticsearch服务器无法启动,我们的Springboot应用程序仍应运行,因为我们的大多数API都是基