如何在数字签名中实现TimeStamp

时间:2014-07-30 13:52:05

标签: android security digital-signature trusted-timestamp

以下是关于生成签名的代码片段:

File file = new File("privatekey.pkcs8");
        FileInputStream fis = new FileInputStream(file);
        pemBytes = new byte[fis.available()];
        fis.read(pemBytes);
        fis.close();
        File filedata = new File("hi");
        FileInputStream fis2 = new FileInputStream(filedata);
        dataBytes = new byte[fis2.available()];
        fis2.read(dataBytes);
        fis2.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    PrivateKey privKey=null;
    try {
        PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(pemBytes);
        KeyFactory kf = KeyFactory.getInstance("RSA");
        privKey = kf.generatePrivate(keySpec);
    } catch (Exception e) {
        e.printStackTrace();
    }
    /* Create a Signature object and initialize it with the private key */
    byte[] realSig = null;
    try{
        Signature signature = Signature.getInstance("SHA256withRSA");
      signature.initSign(privKey); 
        signature.update(dataBytes); 
        realSig = signature.sign();
        byte[] res = Base64.encodeBase64(realSig); 
        FileOutputStream sigfos = new FileOutputStream("mysignature");
        sigfos.write(res);
        sigfos.close();
    } catch (Exception e) {
        e.printStackTrace();

签名工作正常,但目前我想实现一个时间戳功能,这会导致签名在有时甚至30天后过期。但是,我没有处理时间戳的经验,我也无法找到足够解释的示例或教程。 因此,我想询问有关如何入门的链接/说明/教程! 如果可能的话,我可以使用的代码片段! 提前谢谢!

0 个答案:

没有答案