com.lowagie.text.pdf

## Class PdfSigGenericPKCS

- java.lang.Object
- - com.lowagie.text.pdf.PdfObject
  - - com.lowagie.text.pdf.PdfDictionary
    - - com.lowagie.text.pdf.PdfSignature
      - - com.lowagie.text.pdf.PdfSigGenericPKCS

Direct Known Subclasses:
  PdfSigGenericPKCS.PPKLite, PdfSigGenericPKCS.PPKMS, PdfSigGenericPKCS.VeriSign

    public abstract class PdfSigGenericPKCS
    extends PdfSignature

A signature dictionary representation for the standard filters.

### Nested Class Summary

Nested Classes
`static class` `PdfSigGenericPKCS.PPKLite` Creates a standard filter of the type self signed.
`static class` `PdfSigGenericPKCS.PPKMS` Creates a standard filter of the type Windows Certificate.
`static class` `PdfSigGenericPKCS.VeriSign` Creates a standard filter of the type VeriSign.

### Field Summary

Fields
`private java.lang.String` `digestEncryptionAlgorithm`
`private byte[]` `externalDigest`
`private byte[]` `externalRSAdata`
`protected java.lang.String` `hashAlgorithm` The hash algorithm, for example "SHA1"
`protected java.lang.String` `name` The subject name in the signing certificate (the element "CN")
`protected PdfPKCS7` `pkcs` The class instance that calculates the PKCS#1 and PKCS#7
`protected java.lang.String` `provider` The crypto provider

### Fields inherited from class com.lowagie.text.pdf.PdfDictionary

`CATALOG, FONT, hashMap, OUTLINES, PAGE, PAGES`

### Fields inherited from class com.lowagie.text.pdf.PdfObject

`ARRAY, BOOLEAN, bytes, DICTIONARY, INDIRECT, indRef, NAME, NOTHING, NULL, NUMBER, STREAM, STRING, TEXT_PDFDOCENCODING, TEXT_UNICODE, type`

### Constructor Summary

Constructors
Constructor and Description
`PdfSigGenericPKCS(PdfName filter, PdfName subFilter)` Creates a generic standard filter.

### Method Summary

Methods
`java.lang.String` `getName()` Gets the subject name in the signing certificate (the element "CN")
`PdfPKCS7` `getSigner()` Gets the class instance that does the actual signing.
`byte[]` `getSignerContents()` Gets the signature content.
`void` `setExternalDigest(byte[] digest, byte[] RSAdata, java.lang.String digestEncryptionAlgorithm)` Sets the digest/signature to an external calculated value.
`void` `setSignInfo(java.security.PrivateKey privKey, java.security.cert.Certificate[] certChain, java.security.cert.CRL[] crlList)` Sets the crypto information to sign.

### Methods inherited from class com.lowagie.text.pdf.PdfSignature

`setByteRange, setCert, setContact, setContents, setDate, setLocation, setName, setReason`

### Methods inherited from class com.lowagie.text.pdf.PdfDictionary

`contains, get, getAsArray, getAsBoolean, getAsDict, getAsIndirectObject, getAsName, getAsNumber, getAsStream, getAsString, getDirectObject, getKeys, isCatalog, isFont, isOutlineTree, isPage, isPages, merge, mergeDifferent, put, putAll, putEx, remove, size, toPdf, toString`

### Methods inherited from class com.lowagie.text.pdf.PdfObject

`canBeInObjStm, getBytes, getIndRef, isArray, isBoolean, isDictionary, isIndirect, isName, isNull, isNumber, isStream, isString, length, setContent, setIndRef, type`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### hashAlgorithm

    protected java.lang.String hashAlgorithm

The hash algorithm, for example "SHA1"

#### provider

    protected java.lang.String provider

The crypto provider

#### pkcs

    protected PdfPKCS7 pkcs

The class instance that calculates the PKCS#1 and PKCS#7

#### name

    protected java.lang.String name

The subject name in the signing certificate (the element "CN")

#### externalDigest

    private byte[] externalDigest

#### externalRSAdata

    private byte[] externalRSAdata

#### digestEncryptionAlgorithm

    private java.lang.String digestEncryptionAlgorithm

### Constructor Detail

#### PdfSigGenericPKCS

    public PdfSigGenericPKCS(PdfName filter,
                     PdfName subFilter)

Creates a generic standard filter.

Parameters:
  `filter` - the filter name
  `subFilter` - the sub-filter name

### Method Detail

#### setSignInfo

    public void setSignInfo(java.security.PrivateKey privKey,
                   java.security.cert.Certificate[] certChain,
                   java.security.cert.CRL[] crlList)

Sets the crypto information to sign.

Parameters:
  `privKey` - the private key
  `certChain` - the certificate chain
  `crlList` - the certificate revocation list. It can be `null`

#### setExternalDigest

    public void setExternalDigest(byte[] digest,
                         byte[] RSAdata,
                         java.lang.String digestEncryptionAlgorithm)

Sets the digest/signature to an external calculated value.

Parameters:
  `digest` - the digest. This is the actual signature
  `RSAdata` - the extra data that goes into the data tag in PKCS#7
  `digestEncryptionAlgorithm` - the encryption algorithm. It may must be `null` if the `digest` is also `null`. If the `digest` is not `null` then it may be "RSA" or "DSA"

#### getName

    public java.lang.String getName()

Gets the subject name in the signing certificate (the element "CN")

Returns:
  the subject name in the signing certificate (the element "CN")

#### getSigner

    public PdfPKCS7 getSigner()

Gets the class instance that does the actual signing.

Returns:
  the class instance that does the actual signing

#### getSignerContents

    public byte[] getSignerContents()

Gets the signature content. This can be a PKCS#1 or a PKCS#7. It corresponds to the /Contents key.

Returns:
  the signature content