Package com.lowagie.text.pdf
Class PdfPKCS7
java.lang.Object
com.lowagie.text.pdf.PdfPKCS7
Deprecated.
This class does all the processing related to signing and verifying a PKCS#7 signature.
It's based in code found at org.bouncycastle.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classDeprecated.a class that holds an X509 namestatic classDeprecated.class for breaking up an X500 Name into it's component tokens, ala java.util.StringTokenizer. -
Field Summary
FieldsModifier and TypeFieldDescriptionDeprecated.Deprecated.private org.bouncycastle.cert.ocsp.BasicOCSPRespDeprecated.private final List<Certificate>Deprecated.Deprecated.private byte[]Deprecated.private StringDeprecated.Deprecated.private byte[]Deprecated.private StringDeprecated.Deprecated.private byte[]Deprecated.private byte[]Deprecated.private static final StringDeprecated.private static final StringDeprecated.private static final StringDeprecated.private static final StringDeprecated.private static final StringDeprecated.private static final StringDeprecated.private static final StringDeprecated.private static final StringDeprecated.private static final StringDeprecated.private StringDeprecated.Holds value of property location.private MessageDigestDeprecated.private PrivateKeyDeprecated.private final StringDeprecated.private StringDeprecated.Holds value of property reason.private byte[]Deprecated.private SignatureDeprecated.private byte[]Deprecated.private X509CertificateDeprecated.private List<Certificate>Deprecated.private CalendarDeprecated.Holds value of property signDate.private intDeprecated.private StringDeprecated.Holds value of property signName.private org.bouncycastle.tsp.TimeStampTokenDeprecated.private booleanDeprecated.private booleanDeprecated.private intDeprecated. -
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.Verifies a signature using the sub-filter adbe.x509.rsa_sha1.Deprecated.Verifies a signature using the sub-filter adbe.pkcs7.detached or adbe.pkcs7.sha1.PdfPKCS7(PrivateKey privKey, Certificate[] certChain, CRL[] crlList, String hashAlgorithm, String provider, boolean hasRSAdata) Deprecated.Generates a signature. -
Method Summary
Modifier and TypeMethodDescriptionprivate org.bouncycastle.asn1.ASN1EncodableVectorbuildUnauthenticatedAttributes(byte[] timeStampToken) Deprecated.Added by Aiken Sam, 2006-11-15, modifed by Martin Brunecky 07/12/2007 to start with the timeStampToken (signedData 1.2.840.113549.1.7.2).private voidfindOcsp(org.bouncycastle.asn1.ASN1Sequence seq) Deprecated.static StringgetAlgorithm(String oid) Deprecated.Gets the algorithm name for a certain id.byte[]getAuthenticatedAttributeBytes(byte[] secondDigest, Calendar signingTime, byte[] ocsp) Deprecated.When using authenticatedAttributes the authentication process is different.private org.bouncycastle.asn1.DERSetgetAuthenticatedAttributeSet(byte[] secondDigest, Calendar signingTime, byte[] ocsp) Deprecated.Deprecated.Get all the X.509 certificates associated with this PKCS#7 object in no particular order.getCRLs()Deprecated.Get the X.509 certificate revocation lists associated with this PKCS#7 objectstatic StringDeprecated.Gets the digest name for a certain idDeprecated.Get the algorithm used to calculate the message digeststatic StringgetDigestOid(String digestName) Deprecated.Gets the oid for given digest name.byte[]Deprecated.Gets the bytes for the PKCS#1 object.byte[]Deprecated.Gets the bytes for the PKCS7SignedData object.byte[]getEncodedPKCS7(byte[] secondDigest, Calendar signingTime) Deprecated.Gets the bytes for the PKCS7SignedData object.byte[]getEncodedPKCS7(byte[] secondDigest, Calendar signingTime, TSAClient tsaClient, byte[] ocsp) Deprecated.Gets the bytes for the PKCS7SignedData object.private static org.bouncycastle.asn1.ASN1PrimitivegetExtensionValue(X509Certificate cert, String oid) Deprecated.Deprecated.Returns the algorithm.private static org.bouncycastle.asn1.ASN1PrimitivegetIssuer(byte[] enc) Deprecated.Get the "issuer" from the TBSCertificate bytes that are passed instatic PdfPKCS7.X509NameDeprecated.Get the issuer fields from an X509 CertificateDeprecated.Getter for property location.org.bouncycastle.cert.ocsp.BasicOCSPRespgetOcsp()Deprecated.Gets the OCSP basic response if there is one.static StringgetOCSPURL(X509Certificate certificate) Deprecated.Retrieves the OCSP URL from the given certificate.Deprecated.Getter for property reason.Deprecated.Get the X.509 sign certificate chain associated with this PKCS#7 object.Deprecated.Getter for property signDate.Deprecated.Get the X.509 certificate actually used to sign the digest.intDeprecated.Get the version of the PKCS#7 "SignerInfo" object.Deprecated.Getter for property sigName.private static StringgetStandardJavaName(String algName) Deprecated.private static StringgetStringFromGeneralName(org.bouncycastle.asn1.ASN1Primitive names) Deprecated.private static org.bouncycastle.asn1.ASN1PrimitivegetSubject(byte[] enc) Deprecated.Get the "subject" from the TBSCertificate bytes that are passed instatic PdfPKCS7.X509NameDeprecated.Get the subject fields from an X509 CertificateDeprecated.Gets the timestamp dateorg.bouncycastle.tsp.TimeStampTokenDeprecated.Gets the timestamp token if there is one.intDeprecated.Get the version of the PKCS#7 object.booleanDeprecated.Checks if OCSP revocation refers to the document signing certificate.static KeyStoreDeprecated.Loads the default root certificates at <java.home>/lib/security/cacerts with the default provider.static KeyStoreloadCacertsKeyStore(String provider) Deprecated.Loads the default root certificates at <java.home>/lib/security/cacerts.voidsetExternalDigest(byte[] digest, byte[] RSAdata, String digestEncryptionAlgorithm) Deprecated.Sets the digest/signature to an external calculated value.voidsetLocation(String location) Deprecated.Setter for property location.voidDeprecated.Setter for property reason.voidsetSignDate(Calendar signDate) Deprecated.Setter for property signDate.voidsetSignName(String signName) Deprecated.Setter for property sigName.private voidDeprecated.voidupdate(byte[] buf, int off, int len) Deprecated.Update the digest with the specified bytes.booleanverify()Deprecated.Verify the digest.static StringverifyCertificate(X509Certificate cert, Collection crls, Calendar calendar) Deprecated.Verifies a single certificate.static Object[]verifyCertificates(Certificate[] certs, KeyStore keystore, Collection crls, Calendar calendar) Deprecated.Verifies a certificate chain against a KeyStore.booleanDeprecated.Checks if the timestamp refers to this document.
-
Field Details
-
ID_PKCS7_DATA
Deprecated.- See Also:
-
ID_PKCS7_SIGNED_DATA
Deprecated.- See Also:
-
ID_RSA
Deprecated.- See Also:
-
ID_DSA
Deprecated.- See Also:
-
ID_ECDSA
Deprecated.- See Also:
-
ID_CONTENT_TYPE
Deprecated.- See Also:
-
ID_MESSAGE_DIGEST
Deprecated.- See Also:
-
ID_SIGNING_TIME
Deprecated.- See Also:
-
ID_ADBE_REVOCATION
Deprecated.- See Also:
-
digestNames
Deprecated. -
algorithmNames
Deprecated. -
allowedDigests
Deprecated. -
certs
Deprecated. -
crls
Deprecated. -
provider
Deprecated. -
sigAttr
private byte[] sigAttrDeprecated. -
digestAttr
private byte[] digestAttrDeprecated. -
version
private int versionDeprecated. -
signerversion
private int signerversionDeprecated. -
digestalgos
Deprecated. -
signCerts
Deprecated. -
signCert
Deprecated. -
digest
private byte[] digestDeprecated. -
messageDigest
Deprecated. -
digestAlgorithm
Deprecated. -
digestEncryptionAlgorithm
Deprecated. -
sig
Deprecated. -
privKey
Deprecated. -
RSAdata
private byte[] RSAdataDeprecated. -
verified
private boolean verifiedDeprecated. -
verifyResult
private boolean verifyResultDeprecated. -
externalDigest
private byte[] externalDigestDeprecated. -
externalRSAdata
private byte[] externalRSAdataDeprecated. -
reason
Deprecated.Holds value of property reason. -
location
Deprecated.Holds value of property location. -
signDate
Deprecated.Holds value of property signDate. -
signName
Deprecated.Holds value of property signName. -
timeStampToken
private org.bouncycastle.tsp.TimeStampToken timeStampTokenDeprecated. -
basicResp
private org.bouncycastle.cert.ocsp.BasicOCSPResp basicRespDeprecated.
-
-
Constructor Details
-
PdfPKCS7
Deprecated.Verifies a signature using the sub-filter adbe.x509.rsa_sha1.- Parameters:
contentsKey- the /Contents keycertsKey- the /Cert keyprovider- the provider ornullfor the default provider
-
PdfPKCS7
Deprecated.Verifies a signature using the sub-filter adbe.pkcs7.detached or adbe.pkcs7.sha1.- Parameters:
contentsKey- the /Contents keyprovider- the provider ornullfor the default provider
-
PdfPKCS7
public PdfPKCS7(PrivateKey privKey, Certificate[] certChain, CRL[] crlList, String hashAlgorithm, String provider, boolean hasRSAdata) throws InvalidKeyException, NoSuchProviderException, NoSuchAlgorithmException Deprecated.Generates a signature.- Parameters:
privKey- the private keycertChain- the certificate chaincrlList- the certificate revocation listhashAlgorithm- the hash algorithmprovider- the provider ornullfor the default providerhasRSAdata-trueif the sub-filter is adbe.pkcs7.sha1- Throws:
InvalidKeyException- on errorNoSuchProviderException- on errorNoSuchAlgorithmException- on error
-
-
Method Details
-
getDigest
Deprecated.Gets the digest name for a certain id- Parameters:
oid- an id (for instance "1.2.840.113549.2.5")- Returns:
- a digest name (for instance "MD5")
- Since:
- 2.1.6
-
getAlgorithm
Deprecated.Gets the algorithm name for a certain id.- Parameters:
oid- an id (for instance "1.2.840.113549.1.1.1")- Returns:
- an algorithm name (for instance "RSA")
- Since:
- 2.1.6
-
getDigestOid
Deprecated.Gets the oid for given digest name.- Parameters:
digestName- digest name (for instance "SHA-256")- Returns:
- a digest OID (for instance "2.16.840.1.101.3.4.2.1") or
nullif the oid for provided name is not found
-
loadCacertsKeyStore
Deprecated.Loads the default root certificates at <java.home>/lib/security/cacerts with the default provider.- Returns:
- a
KeyStore
-
loadCacertsKeyStore
Deprecated.Loads the default root certificates at <java.home>/lib/security/cacerts.- Parameters:
provider- the provider ornullfor the default provider- Returns:
- a
KeyStore
-
verifyCertificate
Deprecated.Verifies a single certificate.- Parameters:
cert- the certificate to verifycrls- the certificate revocation list ornullcalendar- the date ornullfor the current date- Returns:
- a
Stringwith the error description ornullif no error
-
verifyCertificates
public static Object[] verifyCertificates(Certificate[] certs, KeyStore keystore, Collection crls, Calendar calendar) Deprecated.Verifies a certificate chain against a KeyStore.- Parameters:
certs- the certificate chainkeystore- theKeyStorecrls- the certificate revocation list ornullcalendar- the date ornullfor the current date- Returns:
nullif the certificate chain could be validated or aObject[]{cert,error}wherecertis the failed certificate anderroris the error message
-
getOCSPURL
Deprecated.Retrieves the OCSP URL from the given certificate.- Parameters:
certificate- the certificate- Returns:
- the URL or null
- Since:
- 2.1.6
-
getExtensionValue
private static org.bouncycastle.asn1.ASN1Primitive getExtensionValue(X509Certificate cert, String oid) throws IOException Deprecated.- Throws:
IOException
-
getStringFromGeneralName
Deprecated. -
getIssuer
private static org.bouncycastle.asn1.ASN1Primitive getIssuer(byte[] enc) Deprecated.Get the "issuer" from the TBSCertificate bytes that are passed in- Parameters:
enc- a TBSCertificate in a byte array- Returns:
- a ASN1Primitive
-
getSubject
private static org.bouncycastle.asn1.ASN1Primitive getSubject(byte[] enc) Deprecated.Get the "subject" from the TBSCertificate bytes that are passed in- Parameters:
enc- A TBSCertificate in a byte array- Returns:
- a ASN1Primitive
-
getIssuerFields
Deprecated.Get the issuer fields from an X509 Certificate- Parameters:
cert- an X509Certificate- Returns:
- an X509Name
-
getSubjectFields
Deprecated.Get the subject fields from an X509 Certificate- Parameters:
cert- an X509Certificate- Returns:
- an X509Name
-
getStandardJavaName
Deprecated. -
getTimeStampToken
public org.bouncycastle.tsp.TimeStampToken getTimeStampToken()Deprecated.Gets the timestamp token if there is one.- Returns:
- the timestamp token or null
- Since:
- 2.1.6
-
getTimeStampDate
Deprecated.Gets the timestamp date- Returns:
- a date
- Since:
- 2.1.6
-
getOcsp
public org.bouncycastle.cert.ocsp.BasicOCSPResp getOcsp()Deprecated.Gets the OCSP basic response if there is one.- Returns:
- the OCSP basic response or null
- Since:
- 2.1.6
-
findOcsp
Deprecated.- Throws:
IOException
-
update
Deprecated.Update the digest with the specified bytes. This method is used both for signing and verifying- Parameters:
buf- the data bufferoff- the offset in the data bufferlen- the data length- Throws:
SignatureException- on error
-
verify
Deprecated.Verify the digest.- Returns:
trueif the signature checks out,falseotherwise- Throws:
SignatureException- on error
-
verifyTimestampImprint
Deprecated.Checks if the timestamp refers to this document.- Returns:
- true if it checks false otherwise
- Throws:
NoSuchAlgorithmException- on error- Since:
- 2.1.6
-
getCertificates
Deprecated.Get all the X.509 certificates associated with this PKCS#7 object in no particular order. Other certificates, from OCSP for example, will also be included.- Returns:
- the X.509 certificates associated with this PKCS#7 object
-
getSignCertificateChain
Deprecated.Get the X.509 sign certificate chain associated with this PKCS#7 object. Only the certificates used for the main signature will be returned, with the signing certificate first.- Returns:
- the X.509 certificates associated with this PKCS#7 object
- Since:
- 2.1.6
-
signCertificateChain
private void signCertificateChain()Deprecated. -
getCRLs
Deprecated.Get the X.509 certificate revocation lists associated with this PKCS#7 object- Returns:
- the X.509 certificate revocation lists associated with this PKCS#7 object
-
getSigningCertificate
Deprecated.Get the X.509 certificate actually used to sign the digest.- Returns:
- the X.509 certificate actually used to sign the digest
-
getVersion
public int getVersion()Deprecated.Get the version of the PKCS#7 object. Always 1- Returns:
- the version of the PKCS#7 object. Always 1
-
getSigningInfoVersion
public int getSigningInfoVersion()Deprecated.Get the version of the PKCS#7 "SignerInfo" object. Always 1- Returns:
- the version of the PKCS#7 "SignerInfo" object. Always 1
-
getDigestAlgorithm
Deprecated.Get the algorithm used to calculate the message digest- Returns:
- the algorithm used to calculate the message digest
-
getHashAlgorithm
Deprecated.Returns the algorithm.- Returns:
- the digest algorithm
-
isRevocationValid
public boolean isRevocationValid()Deprecated.Checks if OCSP revocation refers to the document signing certificate.- Returns:
- true if it checks false otherwise
- Since:
- 2.1.6
-
getEncodedPKCS1
public byte[] getEncodedPKCS1()Deprecated.Gets the bytes for the PKCS#1 object.- Returns:
- a byte array
-
setExternalDigest
Deprecated.Sets the digest/signature to an external calculated value.- Parameters:
digest- the digest. This is the actual signatureRSAdata- the extra data that goes into the data tag in PKCS#7digestEncryptionAlgorithm- the encryption algorithm. It may must benullif thedigestis alsonull. If thedigestis notnullthen it may be "RSA" or "DSA"
-
getEncodedPKCS7
public byte[] getEncodedPKCS7()Deprecated.Gets the bytes for the PKCS7SignedData object.- Returns:
- the bytes for the PKCS7SignedData object
-
getEncodedPKCS7
Deprecated.Gets the bytes for the PKCS7SignedData object. Optionally the authenticatedAttributes in the signerInfo can also be set. If either of the parameters isnull, none will be used.- Parameters:
secondDigest- the digest in the authenticatedAttributessigningTime- the signing time in the authenticatedAttributes- Returns:
- the bytes for the PKCS7SignedData object
-
getEncodedPKCS7
public byte[] getEncodedPKCS7(byte[] secondDigest, Calendar signingTime, TSAClient tsaClient, byte[] ocsp) Deprecated.Gets the bytes for the PKCS7SignedData object. Optionally the authenticatedAttributes in the signerInfo can also be set, OR a time-stamp-authority client may be provided.- Parameters:
secondDigest- the digest in the authenticatedAttributessigningTime- the signing time in the authenticatedAttributestsaClient- TSAClient - null or an optional time stamp authority clientocsp- a byte array- Returns:
- byte[] the bytes for the PKCS7SignedData object
- Since:
- 2.1.6
-
buildUnauthenticatedAttributes
private org.bouncycastle.asn1.ASN1EncodableVector buildUnauthenticatedAttributes(byte[] timeStampToken) throws IOException Deprecated.Added by Aiken Sam, 2006-11-15, modifed by Martin Brunecky 07/12/2007 to start with the timeStampToken (signedData 1.2.840.113549.1.7.2). Token is the TSA response without response status, which is usually handled by the (vendor supplied) TSA request/response interface).- Parameters:
timeStampToken- byte[] - time stamp token, DER encoded signedData- Returns:
- ASN1EncodableVector
- Throws:
IOException
-
getAuthenticatedAttributeBytes
public byte[] getAuthenticatedAttributeBytes(byte[] secondDigest, Calendar signingTime, byte[] ocsp) Deprecated.When using authenticatedAttributes the authentication process is different. The document digest is generated and put inside the attribute. The signing is done over the DER encoded authenticatedAttributes. This method provides that encoding and the parameters must be exactly the same as ingetEncodedPKCS7(byte[], Calendar). A simple example:Calendar cal = Calendar.getInstance(); PdfPKCS7 pk7 = new PdfPKCS7(key, chain, null, "SHA1", null, false); MessageDigest messageDigest = MessageDigest.getInstance("SHA1"); byte buf[] = new byte[8192]; int n; InputStream inp = sap.getRangeStream(); while ((n = inp.read(buf)) > 0) { messageDigest.update(buf, 0, n); } byte hash[] = messageDigest.digest(); byte sh[] = pk7.getAuthenticatedAttributeBytes(hash, cal); pk7.update(sh, 0, sh.length); byte sg[] = pk7.getEncodedPKCS7(hash, cal);- Parameters:
secondDigest- the content digestsigningTime- the signing timeocsp- a byte array- Returns:
- the byte array representation of the authenticatedAttributes ready to be signed
-
getAuthenticatedAttributeSet
private org.bouncycastle.asn1.DERSet getAuthenticatedAttributeSet(byte[] secondDigest, Calendar signingTime, byte[] ocsp) Deprecated. -
getReason
Deprecated.Getter for property reason.- Returns:
- Value of property reason.
-
setReason
Deprecated.Setter for property reason.- Parameters:
reason- New value of property reason.
-
getLocation
Deprecated.Getter for property location.- Returns:
- Value of property location.
-
setLocation
Deprecated.Setter for property location.- Parameters:
location- New value of property location.
-
getSignDate
Deprecated.Getter for property signDate.- Returns:
- Value of property signDate.
-
setSignDate
Deprecated.Setter for property signDate.- Parameters:
signDate- New value of property signDate.
-
getSignName
Deprecated.Getter for property sigName.- Returns:
- Value of property sigName.
-
setSignName
Deprecated.Setter for property sigName.- Parameters:
signName- New value of property sigName.
-