public class PssSignedDataDemo extends java.lang.Object
Constructor and Description |
---|
PssSignedDataDemo()
Setups the demo certificate chains.
|
Modifier and Type | Method and Description |
---|---|
static iaik.asn1.structures.AlgorithmID |
createPssAlgorithmID(iaik.asn1.structures.AlgorithmID hashID,
iaik.asn1.structures.AlgorithmID mgfID,
int saltLength)
Creates an RSA-PSS AlgorithmID with the supplied parameters (hash algorithm id,
mask generation function, salt length).
|
byte[] |
createSignedData(byte[] message,
int mode)
Creates a CMS
SignedData object. |
byte[] |
createSignedDataStream(byte[] message,
int mode)
Creates a CMS
SignedData object. |
byte[] |
getSignedData(byte[] encoding,
byte[] message)
Parses a CMS
SignedData object and verifies the signatures
for all participated signers. |
byte[] |
getSignedDataStream(byte[] signedData,
byte[] message)
Parses a CMS
SignedData object and verifies the signatures
for all participated signers. |
static void |
main(java.lang.String[] argv)
The main method.
|
void |
start()
Tests the CMS SignedData implementation for
the RSA-PSS (PKCS#1v2.1) algorithm.
|
public PssSignedDataDemo() throws java.io.IOException
java.io.IOException
- if an file read error occurspublic byte[] createSignedDataStream(byte[] message, int mode) throws iaik.cms.CMSException, java.io.IOException
SignedData
object.
message
- the message to be signed, as byte representationmode
- the transmission mode, either IMPLICIT or EXPLICITSignedData
object just creatediaik.cms.CMSException
- if the SignedData
object cannot
be createdjava.io.IOException
- if some stream I/O error occurspublic byte[] getSignedDataStream(byte[] signedData, byte[] message) throws iaik.cms.CMSException, java.io.IOException
SignedData
object and verifies the signatures
for all participated signers.signedData
- SignedData
object as BER encoded byte arraymessage
- the message which was transmitted out-of-band (if explicit signed),
otherwise null
(implicit signed)iaik.cms.CMSException
- if any signature does not verifyjava.io.IOException
- if some stream I/O error occurspublic byte[] createSignedData(byte[] message, int mode) throws iaik.cms.CMSException
SignedData
object.
message
- the message to be signed, as byte representationmode
- the mode, either SignedData.IMPLICIT or SignedData.EXPLICITSignedData
objectiaik.cms.CMSException
- if the SignedData
object cannot
be createdpublic byte[] getSignedData(byte[] encoding, byte[] message) throws iaik.cms.CMSException, java.io.IOException
SignedData
object and verifies the signatures
for all participated signers.encoding
- the DER encoded SignedData
objectmessage
- the message which was transmitted out-of-band (if explicit signed),
otherwise null
(implicit signed)iaik.cms.CMSException
- if any signature does not verifyjava.io.IOException
- if some stream I/O error occurspublic static iaik.asn1.structures.AlgorithmID createPssAlgorithmID(iaik.asn1.structures.AlgorithmID hashID, iaik.asn1.structures.AlgorithmID mgfID, int saltLength) throws java.security.InvalidAlgorithmParameterException, java.security.NoSuchAlgorithmException
hashID
- the hash algorithm to be usedmgfID
- the mask generation function to be usedsaltLength
- the salt length to be usedjava.security.InvalidAlgorithmParameterException
- if the parameters cannot be created/setjava.security.NoSuchAlgorithmException
- if there is no AlgorithmParameters implementation
for RSA-PSSpublic void start()
public static void main(java.lang.String[] argv) throws java.lang.Exception
java.lang.Exception