27
28 import java.security.spec.AlgorithmParameterSpec;
29 import java.util.*;
30 import java.io.*;
31
32 import java.nio.ByteBuffer;
33
34 import sun.security.jca.JCAUtil;
35
36 /**
37 * This class defines the <i>Service Provider Interface</i> (<b>SPI</b>)
38 * for the {@code Signature} class, which is used to provide the
39 * functionality of a digital signature algorithm. Digital signatures are used
40 * for authentication and integrity assurance of digital data.
41 *
42 * <p> All the abstract methods in this class must be implemented by each
43 * cryptographic service provider who wishes to supply the implementation
44 * of a particular signature algorithm.
45 *
46 * @author Benjamin Renaud
47 *
48 *
49 * @see Signature
50 */
51
52 public abstract class SignatureSpi {
53
54 /**
55 * Application-specified source of randomness.
56 */
57 protected SecureRandom appRandom = null;
58
59 /**
60 * Initializes this signature object with the specified
61 * public key for verification operations.
62 *
63 * @param publicKey the public key of the identity whose signature is
64 * going to be verified.
65 *
66 * @exception InvalidKeyException if the key is improperly
|
27
28 import java.security.spec.AlgorithmParameterSpec;
29 import java.util.*;
30 import java.io.*;
31
32 import java.nio.ByteBuffer;
33
34 import sun.security.jca.JCAUtil;
35
36 /**
37 * This class defines the <i>Service Provider Interface</i> (<b>SPI</b>)
38 * for the {@code Signature} class, which is used to provide the
39 * functionality of a digital signature algorithm. Digital signatures are used
40 * for authentication and integrity assurance of digital data.
41 *
42 * <p> All the abstract methods in this class must be implemented by each
43 * cryptographic service provider who wishes to supply the implementation
44 * of a particular signature algorithm.
45 *
46 * @author Benjamin Renaud
47 * @since 1.2
48 *
49 *
50 * @see Signature
51 */
52
53 public abstract class SignatureSpi {
54
55 /**
56 * Application-specified source of randomness.
57 */
58 protected SecureRandom appRandom = null;
59
60 /**
61 * Initializes this signature object with the specified
62 * public key for verification operations.
63 *
64 * @param publicKey the public key of the identity whose signature is
65 * going to be verified.
66 *
67 * @exception InvalidKeyException if the key is improperly
|