FOREIGN MODULE java_security_interfaces;

IMPORT
    java_lang := "java.lang",
    java_security := "java.security",
    java_math := "java.math",
    java_io := "java.io",
    java_security_spec := "java.security.spec";

TYPE

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

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

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

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

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

  ECKey* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
           END;

  ECPrivateKey* = POINTER TO INTERFACE RECORD (java_lang.Object + java_security.PrivateKey + ECKey)    (* Typebound Procedures *)
                  STATIC
                    serialVersionUID* = -7896394956925609184;
                  END;

  ECPublicKey* = POINTER TO INTERFACE RECORD (java_lang.Object + java_security.PublicKey + ECKey)    (* Typebound Procedures *)
                 STATIC
                   serialVersionUID* = -3314988629879632826;
                 END;

  RSAKey* = POINTER TO INTERFACE RECORD (java_lang.Object)    (* Typebound Procedures *)
            END;

  RSAMultiPrimePrivateCrtKey* = POINTER TO INTERFACE RECORD (java_lang.Object + RSAPrivateKey)    (* Typebound Procedures *)
                                STATIC
                                  serialVersionUID* = 618058533534628008;
                                END;

  RSAPrivateCrtKey* = POINTER TO INTERFACE RECORD (java_lang.Object + RSAPrivateKey)    (* Typebound Procedures *)
                      STATIC
                        serialVersionUID* = -5682214253527700368;
                      END;

  RSAPrivateKey* = POINTER TO INTERFACE RECORD (java_lang.Object + java_security.PrivateKey + RSAKey)    (* Typebound Procedures *)
                   STATIC
                     serialVersionUID* = 5187144804936595022;
                   END;

  RSAPublicKey* = POINTER TO INTERFACE RECORD (java_lang.Object + java_security.PublicKey + RSAKey)    (* Typebound Procedures *)
                  STATIC
                    serialVersionUID* = -8727434096241101194;
                  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:ECKey) getParams*() : java_security_spec.ECParameterSpec,NEW,ABSTRACT;

PROCEDURE (self:ECPrivateKey) getS*() : java_math.BigInteger,NEW,ABSTRACT;

PROCEDURE (self:ECPublicKey) getW*() : java_security_spec.ECPoint,NEW,ABSTRACT;

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

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

PROCEDURE (self:RSAMultiPrimePrivateCrtKey) getOtherPrimeInfo*() : POINTER TO ARRAY OF java_security_spec.RSAOtherPrimeInfo,NEW,ABSTRACT;

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

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

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

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

PROCEDURE (self:RSAMultiPrimePrivateCrtKey) getPublicExponent*() : 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) getPrivateExponent*() : java_math.BigInteger,NEW,ABSTRACT;

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

END java_security_interfaces.