org.bouncycastle.jce
public class PKCS7SignedData extends java.lang.Object implements PKCSObjectIdentifiers
How to use it? To verify a signature, do:
PKCS7SignedData pkcs7 = new PKCS7SignedData(der_bytes); // Create it pkcs7.update(bytes, 0, bytes.length); // Update checksum boolean verified = pkcs7.verify(); // Does it add up? To sign, do this: PKCS7SignedData pkcs7 = new PKCS7SignedData(privKey, certChain, "MD5"); pkcs7.update(bytes, 0, bytes.length); // Update checksum pkcs7.sign(); // Create digest bytes = pkcs7.getEncoded(); // Write it somewhere
This class is pretty close to obsolete, for a much better (and more complete) implementation of PKCS7 have a look at the org.bouncycastle.cms package.
bagtypes, canNotDecryptAny, certBag, certTypes, crlBag, crlTypes, data, des_EDE3_CBC, dhKeyAgreement, digestedData, encryptedData, encryptionAlgorithm, envelopedData, id_aa, id_aa_commitmentType, id_aa_contentHint, id_aa_contentIdentifier, id_aa_encrypKeyPref, id_aa_ets_archiveTimestamp, id_aa_ets_certCRLTimestamp, id_aa_ets_certificateRefs, id_aa_ets_certValues, id_aa_ets_commitmentType, id_aa_ets_contentTimestamp, id_aa_ets_escTimeStamp, id_aa_ets_otherSigCert, id_aa_ets_revocationRefs, id_aa_ets_revocationValues, id_aa_ets_signerAttr, id_aa_ets_signerLocation, id_aa_ets_sigPolicyId, id_aa_otherSigCert, id_aa_receiptRequest, id_aa_signatureTimeStampToken, id_aa_signerLocation, id_aa_signingCertificate, id_aa_signingCertificateV2, id_aa_sigPolicyId, id_alg_CMS3DESwrap, id_alg_CMSRC2wrap, id_alg_PWRI_KEK, id_ct, id_ct_authData, id_ct_authEnvelopedData, id_ct_compressedData, id_ct_TSTInfo, id_cti, id_cti_ets_proofOfApproval, id_cti_ets_proofOfCreation, id_cti_ets_proofOfDelivery, id_cti_ets_proofOfOrigin, id_cti_ets_proofOfReceipt, id_cti_ets_proofOfSender, id_hmacWithSHA1, id_hmacWithSHA224, id_hmacWithSHA256, id_hmacWithSHA384, id_hmacWithSHA512, id_mgf1, id_PBES2, id_PBKDF2, id_pSpecified, id_RSAES_OAEP, id_RSASSA_PSS, id_spq, id_spq_ets_unotice, id_spq_ets_uri, keyBag, md2, md2WithRSAEncryption, md4, md4WithRSAEncryption, md5, md5WithRSAEncryption, pbeWithMD2AndDES_CBC, pbeWithMD2AndRC2_CBC, pbeWithMD5AndDES_CBC, pbeWithMD5AndRC2_CBC, pbeWithSHA1AndDES_CBC, pbeWithSHA1AndRC2_CBC, pbeWithSHAAnd128BitRC2_CBC, pbeWithSHAAnd128BitRC4, pbeWithSHAAnd2_KeyTripleDES_CBC, pbeWithSHAAnd3_KeyTripleDES_CBC, pbewithSHAAnd40BitRC2_CBC, pbeWithSHAAnd40BitRC4, pkcs_1, pkcs_12, pkcs_12PbeIds, pkcs_3, pkcs_5, pkcs_7, pkcs_9, pkcs_9_at_challengePassword, pkcs_9_at_contentType, pkcs_9_at_counterSignature, pkcs_9_at_emailAddress, pkcs_9_at_extendedCertificateAttributes, pkcs_9_at_extensionRequest, pkcs_9_at_friendlyName, pkcs_9_at_localKeyId, pkcs_9_at_messageDigest, pkcs_9_at_signingDescription, pkcs_9_at_signingTime, pkcs_9_at_smimeCapabilities, pkcs_9_at_unstructuredAddress, pkcs_9_at_unstructuredName, pkcs8ShroudedKeyBag, preferSignedData, RC2_CBC, rsaEncryption, safeContentsBag, sdsiCertificate, secretBag, sha1WithRSAEncryption, sha224WithRSAEncryption, sha256WithRSAEncryption, sha384WithRSAEncryption, sha512WithRSAEncryption, signedAndEnvelopedData, signedData, sMIMECapabilitiesVersions, srsaOAEPEncryptionSET, x509Certificate, x509certType, x509Crl| Constructor and Description |
|---|
PKCS7SignedData(byte[] in)
Deprecated.
Read an existing PKCS#7 object from a DER encoded byte array using
the BC provider.
|
PKCS7SignedData(byte[] in,
java.lang.String provider)
Deprecated.
Read an existing PKCS#7 object from a DER encoded byte array
|
PKCS7SignedData(java.security.PrivateKey privKey,
java.security.cert.Certificate[] certChain,
java.security.cert.CRL[] crlList,
java.lang.String hashAlgorithm,
java.lang.String provider)
Deprecated.
Create a new PKCS#7 object from the specified key.
|
PKCS7SignedData(java.security.PrivateKey privKey,
java.security.cert.Certificate[] certChain,
java.lang.String hashAlgorithm)
Deprecated.
Create a new PKCS#7 object from the specified key using the BC provider.
|
PKCS7SignedData(java.security.PrivateKey privKey,
java.security.cert.Certificate[] certChain,
java.lang.String hashAlgorithm,
java.lang.String provider)
Deprecated.
Create a new PKCS#7 object from the specified key.
|
| Modifier and Type | Method and Description |
|---|---|
java.security.cert.Certificate[] |
getCertificates()
Deprecated.
Get the X.509 certificates associated with this PKCS#7 object
|
java.util.Collection |
getCRLs()
Deprecated.
Get the X.509 certificate revocation lists associated with this PKCS#7 object
|
java.lang.String |
getDigestAlgorithm()
Deprecated.
Get the algorithm used to calculate the message digest
|
byte[] |
getEncoded()
Deprecated.
return the bytes for the PKCS7SignedData object.
|
java.security.cert.X509Certificate |
getSigningCertificate()
Deprecated.
Get the X.509 certificate actually used to sign the digest.
|
int |
getSigningInfoVersion()
Deprecated.
Get the version of the PKCS#7 "SignerInfo" object.
|
int |
getVersion()
Deprecated.
Get the version of the PKCS#7 object.
|
void |
reset()
Deprecated.
Resets the PKCS7SignedData object to it's initial state, ready
to sign or verify a new buffer.
|
void |
update(byte buf)
Deprecated.
Update the digest with the specified byte.
|
void |
update(byte[] buf,
int off,
int len)
Deprecated.
Update the digest with the specified bytes.
|
boolean |
verify()
Deprecated.
Verify the digest
|
public PKCS7SignedData(byte[] in)
throws java.lang.SecurityException,
java.security.cert.CRLException,
java.security.InvalidKeyException,
java.security.NoSuchProviderException,
java.security.NoSuchAlgorithmException
java.lang.SecurityExceptionjava.security.cert.CRLExceptionjava.security.InvalidKeyExceptionjava.security.NoSuchProviderExceptionjava.security.NoSuchAlgorithmExceptionpublic PKCS7SignedData(byte[] in,
java.lang.String provider)
throws java.lang.SecurityException,
java.security.cert.CRLException,
java.security.InvalidKeyException,
java.security.NoSuchProviderException,
java.security.NoSuchAlgorithmException
java.lang.SecurityExceptionjava.security.cert.CRLExceptionjava.security.InvalidKeyExceptionjava.security.NoSuchProviderExceptionjava.security.NoSuchAlgorithmExceptionpublic PKCS7SignedData(java.security.PrivateKey privKey,
java.security.cert.Certificate[] certChain,
java.lang.String hashAlgorithm)
throws java.lang.SecurityException,
java.security.InvalidKeyException,
java.security.NoSuchProviderException,
java.security.NoSuchAlgorithmException
privKey - the private key to be used for signing.certChain - the certificate chain associated with the private key.hashAlgorithm - the hashing algorithm used to compute the message digest. Must be "MD5", "MD2", "SHA1" or "SHA"java.lang.SecurityExceptionjava.security.InvalidKeyExceptionjava.security.NoSuchProviderExceptionjava.security.NoSuchAlgorithmExceptionpublic PKCS7SignedData(java.security.PrivateKey privKey,
java.security.cert.Certificate[] certChain,
java.lang.String hashAlgorithm,
java.lang.String provider)
throws java.lang.SecurityException,
java.security.InvalidKeyException,
java.security.NoSuchProviderException,
java.security.NoSuchAlgorithmException
privKey - the private key to be used for signing.certChain - the certificate chain associated with the private key.hashAlgorithm - the hashing algorithm used to compute the message digest. Must be "MD5", "MD2", "SHA1" or "SHA"provider - the provider to use.java.lang.SecurityExceptionjava.security.InvalidKeyExceptionjava.security.NoSuchProviderExceptionjava.security.NoSuchAlgorithmExceptionpublic PKCS7SignedData(java.security.PrivateKey privKey,
java.security.cert.Certificate[] certChain,
java.security.cert.CRL[] crlList,
java.lang.String hashAlgorithm,
java.lang.String provider)
throws java.lang.SecurityException,
java.security.InvalidKeyException,
java.security.NoSuchProviderException,
java.security.NoSuchAlgorithmException
privKey - the private key to be used for signing.certChain - the certificate chain associated with the private key.crlList - the crl list associated with the private key.hashAlgorithm - the hashing algorithm used to compute the message digest. Must be "MD5", "MD2", "SHA1" or "SHA"provider - the provider to use.java.lang.SecurityExceptionjava.security.InvalidKeyExceptionjava.security.NoSuchProviderExceptionjava.security.NoSuchAlgorithmExceptionpublic java.lang.String getDigestAlgorithm()
public void reset()
public java.security.cert.Certificate[] getCertificates()
public java.util.Collection getCRLs()
public java.security.cert.X509Certificate getSigningCertificate()
public int getVersion()
public int getSigningInfoVersion()
public void update(byte buf)
throws java.security.SignatureException
java.security.SignatureExceptionpublic void update(byte[] buf,
int off,
int len)
throws java.security.SignatureException
java.security.SignatureExceptionpublic boolean verify()
throws java.security.SignatureException
java.security.SignatureExceptionpublic byte[] getEncoded()