De vérifier une signature avec château gonflable

J'ai hérité d'un code en utilisant le obsolète bouncycastle API. Avant de le mettre à jour vers la nouvelle API, je voulais écrire un test pour vérifier que je n'ai pas changer son comportement. Cependant, je ne peut pas travailler de la bonne façon de vérifier cette signature qui est généré. Le code à changé, c'est:

public static byte[] createSignedData(byte[] content, X509Certificate cert, PrivateKey key)
        throws NoSuchAlgorithmException, NoSuchProviderException, CMSException, IOException {

    //set up the generator
    CMSSignedDataGenerator gen = new CMSSignedDataGenerator();

    gen.addSigner(key, cert, CMSSignedGenerator.DIGEST_SHA1);

    //create the signed-data object
    CMSProcessable data = new CMSProcessableByteArray(content);
    CMSSignedData signed = gen.generate(data, BC_PROVIDER);

    return signed.getEncoded();
}

Ce qui est retournée à partir de ce code? Une signature détachée?
J'ai essayé de vérifier la signature avec un petit morceau de code comme ça, mais il renvoie toujours false:

Signature signer = Signature.getInstance(
                              "SHA1withRSA", 
                              BouncyCastleProvider.PROVIDER_NAME);
signer.initVerify(cert.getPublicKey());
signer.update(data);
return signer.verify(sig);
InformationsquelleAutor Gary Barker | 2014-06-27