PKCS7コンテナを使用してPDFファイルに切り離された署名を作成したいと思います。データ(ハッシュ)は、秘密鍵を持つ別のデバイスであらかじめ署名されています。署名付きのデータを含むPKCS7を公開鍵を使って証明書と共に作成したいと思います。プライベートキーを提供せずにライブラリにデータを署名することなく、弾力のある城を持つPKCS7を作成することはできません。これは動作していないよう:弾力のある城を使用して、事前に設定されたデータでPKCS7を作成する
InputStream inStream = new FileInputStream("1_public.pem");
BufferedInputStream bis = new BufferedInputStream(inStream);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
List<Certificate> certList = new ArrayList<Certificate>();
Certificate certificate = cf.generateCertificate(bis);
certList.add(certificate);
Store certs = new JcaCertStore(certList);
CMSSignedDataGenerator gen = new CMSSignedDataGenerator();
gen.addCertificates(certs);
CMSProcessableInputStream msg = new CMSProcessableInputStream(new ByteArrayInputStream("signedhash".getBytes()));
CMSSignedData signedData = gen.generate(msg, false);
byte[] pkcs7 = signedData.getEncoded()));
どのように動作しないかを指定してください。 – bmargulies
署名されたデータがpkcs7にありません – rob2000