我使用以下代码将公钥和私钥转换为字符串
KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA");
keyPairGen.initialize(2048);
KeyPair keyPair = keyPairGen.genKeyPair();
PublicKey publicKey = keyPair.getPublic();
PrivateKey privateKey = keyPair.getPrivate();
String publicK = Base64.encodeBase64String(publicKey.getEncoded());
String privateK = Base64.encodeBase64String(privateKey.getEncoded());
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试将其转换回公共广告私钥
PublicKey publicDecoded = Base64.decodeBase64(publicK);
Run Code Online (Sandbox Code Playgroud)
我收到错误,无法从byte []转换为公钥.所以我试过这样的
PublicKey publicDecoded = new SecretKeySpec(Base64.decodeBase64(publicK),"RSA");
Run Code Online (Sandbox Code Playgroud)
这会导致如下错误
java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: Neither a public nor a private key
Run Code Online (Sandbox Code Playgroud)
看起来我在这里做了错误的密钥转换.任何帮助,将不胜感激.
我已经使用以下代码在tomcat中设置Context Path,我可以localhost:8080通过覆盖tomcat的默认路径直接访问我的应用程序.
<Context path="" docBase="G:\bitbucket\projectpath\project\build\libs\project-1.0" workDir="G:\bitbucket\projectpath\project\build\libs\project-1.0\work" debug="0" reloadable="false" autoDeploy="true" unpackWARs="true" crossContext="true"/>
Run Code Online (Sandbox Code Playgroud)
现在我将使用wildfly-8.2.0作为运行时环境.我尝试直接粘贴.war文件G:\wildfly-8.2.0.Final\standalone\deployments,我可以在浏览器中访问我的项目localhost:8080/project-1.0.
我需要设置与wildfly相同的配置,就像我在tomcat中localhost:8080通过覆盖wildfly的默认欢迎页面来访问我的项目一样.我试图在野外飞行中做同样的事情,但我被困在哪里做到这一点.wildfly文件夹中有很多.xml文件(当与tomcat的简单server.xml文件进行比较时),我对从哪里开始感到困惑.我使用"如何在Wildfly中设置上下文路径"进行搜索,但没有成功.任何人都可以帮助我如何做到这一点..?如果它与编码有关,那么我可以做很多搜索,至少我可以得到一些想法,但我在配置中遇到了困难.提前致谢.
我已将基本身份验证配置为Spring-Boot应用程序.一切都是Java Config,没有xml.
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
// Authenticate username -> admin, password -> admin & set role as "ROLE_USER"
auth.inMemoryAuthentication().withUser("admin").password("admin").roles("USER");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/login").permitAll()
// All Requests should be Authenticated
.anyRequest().authenticated()
.and()
// Enable Basic Authentication
.httpBasic()
.and()
.formLogin()
.loginPage("/login")
.defaultSuccessUrl("/main", true)
.loginProcessingUrl("/session")
.usernameParameter("Username").passwordParameter("Password")
.and()
.logout().logoutUrl("/logout").permitAll()
.and().csrf().disable();
}
}
Run Code Online (Sandbox Code Playgroud)
它配置为基本身份验证和普通表单登录.当我在Firefox上测试Rest-Client的基本身份验证时,我可以访问安全URL"/ main".但在响应标题中,我得到了 …
我试图在Wildfly 8.2中部署我的war文件.我的应用程序使用org.apache.cxf进行Web服务.但Wildfly(Jboss)默认使用自己的cxf jar,它可以提供完整的Java EE支持.我可以消除jboss cxf并利用我自己的cxf jar进行Web服务
JBoss的部署,structure.xml
<jboss-deployment-structure>
<deployment>
<exclude-subsystems>
<subsystem name="webservices" />
</exclude-subsystems>
</deployment>
</jboss-deployment-structure>
Run Code Online (Sandbox Code Playgroud)
但它会禁用jboss的ws支持,这意味着我甚至无法在Jboss管理控制台中找到ws端点.但我的客户需要利用jboss的ws功能构建,以便他可以随时禁用或启用任何ws调用.有没有人知道如何配置我的应用程序以利用jboss的cxf jar,以便我可以随时在Jboss管理控制台中调整我的ws.以下链接解释了我到目前为止所提到的完全相同的内容.我成功使用了第一个选项,但我需要它才能使用第二个选项.
http://cxf.apache.org/docs/application-server-specific-configuration-guide.html
注意:请参阅第一个主题(JBoss Application Server)
我似乎无法弄清楚如何配置我的应用程序来利用jboss的cxf jar ..!
如果我从build.gradle文件中删除所有org.apache.cxf依赖项,它会给出ClassNotFoundException错误,这实际上告诉我它可以找到cxf-transport jar.
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: java.lang.ClassNotFoundException: org.apache.cxf.transport.servlet.CXFServlet
Run Code Online (Sandbox Code Playgroud)
如果我在build.gradle文件中包含org.apache.cxf依赖项,则表明它与jboss中也存在的cxf jar冲突.整个问题是我需要通过消除用户定义的cxf jar来利用jboss中存在的cxf来获得完整的Java EE支持.
在我的肥皂应用程序中,我正在使用apache cxf。
这是我的代码,它将数据提交到服务器。
import org.apache.cxf.Bus;
import org.apache.cxf.BusFactory;
import org.apache.cxf.bus.spring.SpringBusFactory;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.frontend.ClientProxy;
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.ws.security.wss4j.DefaultCryptoCoverageChecker;
import org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor;
import org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor;
SpringBusFactory bf = new SpringBusFactory();
URL busFile = Submission.class.getResource(WSSEC_XML);
File f = new File(busFile.getPath());
Bus bus = bf.createBus(busFile.toString());
BusFactory.setDefaultBus(bus);
BusFactory.setThreadDefaultBus(bus);
DefaultCryptoCoverageChecker coverageChecker = new DefaultCryptoCoverageChecker();
coverageChecker.setSignBody(true);
coverageChecker.setSignTimestamp(true);
coverageChecker.setEncryptBody(true);
coverageChecker.setSignAddressingHeaders(true);
MyClaimservice service = new MyClaimservice();
Myclaims port = service.getMyClaimsSoap11();
BindingProvider provider = (BindingProvider) port;
provider.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, ENDPOINT_ADDRESS);
provider.getRequestContext().put(BindingProvider.SOAPACTION_URI_PROPERTY, SOAP_ACTION);
Client client = ClientProxy.getClient(port);
client.getOutInterceptors().add(new LoggingOutInterceptor());
client.getInInterceptors().add(new LoggingInInterceptor());
client.getInInterceptors().add(new WSS4JInInterceptor(getInProps())); …Run Code Online (Sandbox Code Playgroud) 是否有任何命令行标志使Java允许过期的证书?
现在,由于证书已过期,我收到以下异常.
Caused by: java.security.cert.CertificateExpiredException: NotAfter: {PAST DATETIME}
at sun.security.x509.CertificateValidity.valid(CertificateValidity.java:274)
at sun.security.x509.X509CertImpl.checkValidity(X509CertImpl.java:629)
at sun.security.x509.X509CertImpl.checkValidity(X509CertImpl.java:602)
at org.apache.ws.security.validate.SignatureTrustValidator.validateCertificates(SignatureTrustValidator.java:103)
Run Code Online (Sandbox Code Playgroud)
我尝试了以下命令行标志,它不会忽略证书过期检查
-Dcom.sun.net.ssl.checkRevocation=false
Run Code Online (Sandbox Code Playgroud)
我们的应用程序在路径下的tomcat中运行/myapplication.所以我创建了另一个应用程序/ignorecertificate并部署在同一个Tomcat的webapp文件夹中.根据这个问题中接受的答案,我在启动/ignoreexpired应用程序时运行以下代码.
// Create a trust manager that does not validate certificate chains
TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(
java.security.cert.X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(
java.security.cert.X509Certificate[] certs, String authType) {
}
}
};
// Install the all-trusting trust manager
try …Run Code Online (Sandbox Code Playgroud) 我有一个使用hibernate> 4的gradle项目.如果我在Apache tomcat中运行我的war文件,我不会收到任何错误.但是当我在Wildfly 8.2中部署它时,我得到以下异常
Caused by: org.hibernate.InvalidMappingException: Error while parsing file: /G:/wildfly-8.2.0.Final/bin/content/mywar-1.0.war/WEB-INF/classes/com/mysite/
hbm/Role.hbm.xml
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.buildHibernateConfiguration(EntityManagerFactoryBuilderImpl.java:1182) [hibernate-ent
itymanager-4.3.7.Final.jar:4.3.7.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:848) [hibernate-entitymanager-4.3.7.Fi
nal.jar:4.3.7.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:845) [hibernate-entitymanager-4.3.7.Fi
nal.jar:4.3.7.Final]
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:398) [hibernate-core-4.3.7.Final.jar:4.
3.7.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:844) [hibernate-entitymanager-4.3.7.Final.
jar:4.3.7.Final]
at org.jboss.as.jpa.hibernate4.TwoPhaseBootstrapImpl.build(TwoPhaseBootstrapImpl.java:44) [jipijapa-hibernate4-3-1.0.1.Final.jar:]
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:154) [wildfly-jpa-8.2.0.Final.jar:8.2.0.Final]
... 8 more
Caused by: org.hibernate.InvalidMappingException: Unable to read XML
at org.hibernate.internal.util.xml.MappingReader.legacyReadMappingDocument(MappingReader.java:375) [hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at org.hibernate.internal.util.xml.MappingReader.readMappingDocument(MappingReader.java:304) [hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at org.hibernate.cfg.Configuration.add(Configuration.java:518) [hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at org.hibernate.cfg.Configuration.add(Configuration.java:514) [hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at org.hibernate.cfg.Configuration.add(Configuration.java:688) [hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:726) [hibernate-core-4.3.7.Final.jar:4.3.7.Final]
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.buildHibernateConfiguration(EntityManagerFactoryBuilderImpl.java:1177) [hibernate-ent
itymanager-4.3.7.Final.jar:4.3.7.Final]
... 14 more
Caused by: org.dom4j.DocumentException: org.dom4j.DocumentFactory cannot be …Run Code Online (Sandbox Code Playgroud) I have been using golang's default http.ServeMux for http route handling.
wrap := func(h func(t *MyStruct, w http.ResponseWriter, r *http.Request)) func(http.ResponseWriter, *http.Request) {
return func(w http.ResponseWriter, r *http.Request) {
h(t, w, r)
}
}
// Register handlers with default mux
httpMux := http.NewServeMux()
httpMux.HandleFunc("/", wrap(payloadHandler))
Run Code Online (Sandbox Code Playgroud)
Assume this server is accessible via http://example.com/
Very few of my client's requests were of path http://example.com/api//module (note the extra slash) which is redirected as 301 Moved Permanently. Exploring inside golang's http ServeMux.Handler(r *Request) …
我正在尝试使用 jquery ajax 发送附加到 FormData 的文件。在参考了一些 mozilla 和 IBM 的文档后,我想出了以下内容。
阿贾克斯代码:
var sessionId = $.cookie("referenceId");
var myFormData = { sessionId: sessionId,
cipherData: cipherData, // Encrypted xml data
payslip: document.getElementById('payslip').files[0]};
var formData = new FormData();
for (var key in myFormData) {
console.log(key, myFormData[key]);
formData.append(key, myFormData[key]);
}
$.ajax({
url : 'api/rootpath/childpath',
type : 'POST',
processData: false,
contentType: false, // Here the contentType is set to false, so what should I put at @Consumes in java code
data : {
formData: formData
}, …Run Code Online (Sandbox Code Playgroud) java ×5
deployment ×3
jboss ×3
wildfly-8 ×3
cxf ×2
web-services ×2
cryptography ×1
dom4j ×1
encryption ×1
go ×1
http ×1
jax-rs ×1
jersey ×1
jquery ×1
keystore ×1
redirect ×1
rest ×1
soap ×1
spring ×1
spring-boot ×1
ssl ×1
war ×1
ws-security ×1