As its name implies, the java.security.interfaces package contains only interfaces. These interfaces define methods that provide algorithm-specific information (such as key values and initialization parameter values) about DSA, RSA, and EC public and private keys. If you are using the RSA algorithm, for example, and working with a java.security.PublicKey object, you can cast that PublicKey to an RSAPublicKey object and use the RSA-specific methods defined by RSAPublicKey to query the key value directly. The java.security.interfaces package was introduced in Java 1.1. As of Java 1.2, the java.security.spec package is the preferred way for obtaining algorithm-specific information about keys and algorithm parameters. This package remains useful in Java 1.2 and later, however, for identifying the type of a given PublicKey or PrivateKey object. The interfaces in this package are typically of interest only to programmers who are implementing a security provider or who want to implement cryptographic algorithms themselves . Use of this package typically requires some familiarity with the mathematics underlying DSA and RSA public-key cryptography. Interfacespublic interface DSAKey ; public interface DSAKeyPairGenerator ; public interface DSAParams ; public interface DSAPrivateKey extends DSAKey, java.security.PrivateKey; public interface DSAPublicKey extends DSAKey, java.security.PublicKey; public interface ECKey ; public interface ECPrivateKey extends ECKey, java.security.PrivateKey; public interface ECPublicKey extends ECKey, java.security.PublicKey; public interface RSAKey ; public interface RSAMultiPrimePrivateCrtKey extends RSAPrivateKey; public interface RSAPrivateCrtKey extends RSAPrivateKey; public interface RSAPrivateKey extends java.security.PrivateKey, RSAKey; public interface RSAPublicKey extends java.security.PublicKey, RSAKey; |