    FOREIGN MODULE java_security_interfaces;

    IMPORT
        java_lang,
        java_security,
        java_math,
        java_io;

    TYPE

      DSAKey* = POINTER TO INTERFACE RECORD (java_lang.Object)
                END;

      DSAKeyPairGenerator* = POINTER TO INTERFACE RECORD (java_lang.Object)
                             END;

      DSAParams* = POINTER TO INTERFACE RECORD (java_lang.Object)
                   END;

      DSAPrivateKey* = POINTER TO INTERFACE RECORD (java_lang.Object + DSAKey + java_security.PrivateKey)
                       STATIC
                         serialVersionUID* = 7776497482533790279;
                       END;

      DSAPublicKey* = POINTER TO INTERFACE RECORD (java_lang.Object + InputMethodManagerResources + java_security.PublicKey)
                      STATIC
                        serialVersionUID* = 1234526332779022332;
                      END;

      RSAPrivateCrtKey* = POINTER TO INTERFACE RECORD (java_lang.Object + RSAPrivateKey)
                          END;

      RSAPrivateKey* = POINTER TO INTERFACE RECORD (java_lang.Object + POINTER TO ARRAY OF java_lang.String)
                       END;

      RSAPublicKey* = POINTER TO INTERFACE RECORD (java_lang.Object + java_security.PublicKey)
                      END;

    PROCEDURE (self:DSAKey) getParams*() : DSAParams,NEW,ABSTRACT;

    PROCEDURE (self:DSAKeyPairGenerator) initialize*(p0 : INTEGER;
                                                     p1 : BOOLEAN;
                                                     p2 : java_security.SecureRandom),NEW,ABSTRACT;

    PROCEDURE (self:DSAKeyPairGenerator) initialize*(p0 : DSAParams;
                                                     p1 : java_security.SecureRandom),NEW,ABSTRACT;

    PROCEDURE (self:DSAParams) getG*() : java_math.BigInteger,NEW,ABSTRACT;

    PROCEDURE (self:DSAParams) getP*() : java_math.BigInteger,NEW,ABSTRACT;

    PROCEDURE (self:DSAParams) getQ*() : java_math.BigInteger,NEW,ABSTRACT;

    PROCEDURE (self:DSAPrivateKey) getX*() : java_math.BigInteger,NEW,ABSTRACT;

    PROCEDURE (self:DSAPublicKey) getY*() : java_math.BigInteger,NEW,ABSTRACT;

    PROCEDURE (self:RSAPrivateCrtKey) getCrtCoefficient*() : java_math.BigInteger,NEW,ABSTRACT;

    PROCEDURE (self:RSAPrivateCrtKey) getPrimeExponentP*() : java_math.BigInteger,NEW,ABSTRACT;

    PROCEDURE (self:RSAPrivateCrtKey) getPrimeExponentQ*() : java_math.BigInteger,NEW,ABSTRACT;

    PROCEDURE (self:RSAPrivateCrtKey) getPrimeP*() : java_math.BigInteger,NEW,ABSTRACT;

    PROCEDURE (self:RSAPrivateCrtKey) getPrimeQ*() : java_math.BigInteger,NEW,ABSTRACT;

    PROCEDURE (self:RSAPrivateCrtKey) getPublicExponent*() : java_math.BigInteger,NEW,ABSTRACT;

    PROCEDURE (self:RSAPrivateKey) getModulus*() : java_math.BigInteger,NEW,ABSTRACT;

    PROCEDURE (self:RSAPrivateKey) getPrivateExponent*() : java_math.BigInteger,NEW,ABSTRACT;

    PROCEDURE (self:RSAPublicKey) getModulus*() : java_math.BigInteger,NEW,ABSTRACT;

    PROCEDURE (self:RSAPublicKey) getPublicExponent*() : java_math.BigInteger,NEW,ABSTRACT;

    END java_security_interfaces.