小编Dri*_*mri的帖子

Java X509证书解析和验证

我试图通过几个步骤处理X509证书并遇到几个问题.我是JCE的新手,所以我还没有完全了解所有内容.

我们希望能够根据不同的编码(PEM,DER和PCKS7)解析几个不同的X509证书.我使用FireFox(证书包括链)以PEM和PCKS7格式从https://belgium.be导出相同的证书.我已经离开了一些问题所不需要的线路

public List<X509Certificate> parse(FileInputStream fis) {  
    /*
     * Generate a X509 Certificate initialized with the data read from the inputstream. 
     * NOTE: Generation fails when using BufferedInputStream on PKCS7 certificates.
     */
    List<X509Certificate> certificates = null;
      log.debug("Parsing new certificate.");
      certificates = (List<X509Certificate>) cf.generateCertificates(fis);
    return certificates;
  }
Run Code Online (Sandbox Code Playgroud)

只要我使用FileInputStream而不是PCKS7的BufferedInputStream,这段代码工作正常,我觉得这很奇怪?但我可以忍受它.

下一步是验证这些证书链.1)检查所有证书是否都有有效日期(简单)2)使用OCSP验证证书链(如果证书中未找到OCSP URL,则回退到CRL).这是我不完全确定如何处理这个问题的地方.

我正在使用Sun JCE,但似乎没有那么多文档可用(在示例中)?

我首先做了一个简单的实现,只检查链而不经过OCSP/CRL检查.

private Boolean validateChain(List<X509Certificate> certificates) {
    PKIXParameters params;
    CertPath certPath;
    CertPathValidator certPathValidator;
    Boolean valid = Boolean.FALSE;

    params = new PKIXParameters(keyStore);
    params.setRevocationEnabled(false);

    certPath = cf.generateCertPath(certificates);
    certPathValidator = CertPathValidator.getInstance("PKIX"); …
Run Code Online (Sandbox Code Playgroud)

java validation jce pki x509certificate

12
推荐指数
1
解决办法
2万
查看次数

Cloud Foundry node.js应用程序在iOS Safari移动设备上加载缓慢

我们有一个Bluemix node.js应用程序可以在所有浏览器中完美加载,但在Safari Mobile上除外.即使在OSX Safari上也能正常工作.我们已经使用iPhone 5,6和不同的iPad测试了这一点.我们通过不同的WiFi网络和3G/4G完成了这项工作.

你可以在这里测试一下:http://innowall-debug.eu-gb.mybluemix.net/第一页上的一些资源加载速度非常慢.此问题可在第一页上重现.

奇怪的是,当您通过https加载网站时,它将加载/快速渲染.可能是什么问题导致这个问题只能在Safari手机上慢于http

HTTP(突出显示缓慢输入 - 检查延迟27秒):

在此输入图像描述

HTTPS(快速):

在此输入图像描述

mobile-safari node.js cloud-foundry ios ibm-cloud

8
推荐指数
1
解决办法
644
查看次数

Spring批处理2.2 JavaConfig

我正在尝试让Spring Batch 2.2与JavaConfig一起工作.

如今他们有一个@EnableBatchProcessing注释,可以设置很多东西.默认情况下,注释使用数据源作为其作业数据,但我们不希望保存此数据,也不希望为其创建表.文档说明了一些关于自定义但是我无法使其工作:

  • 用户必须DataSource在上下文中提供bean作为bean,或者BatchConfigurer在配置类本身中实现,例如:

public class AppConfig extends DefaultBatchConfigurer {

在我们的旧版本中,我们已经能够使用MapJobRepositoryFactoryBean类,因此它将所有数据保存在内存中.反正有没有使用完整的JavaConfig方式而没有定义DataSource?我无法让它发挥作用.

即使我定义了两个数据源(一个永远不会被使用的HSQL内存)和我们真正的Oracle数据源,它也不起作用,因为它找到两个数据源而不是一个.

任何人都知道如何让这个工作?或者是回归到以XML方式配置它的唯一解决方案?

java spring annotations spring-batch

2
推荐指数
1
解决办法
5804
查看次数