FOREIGN MODULE java_security_spec;

IMPORT
    java_lang,
    java_security_interfaces,
    java_math,
    java_security,
    java_io;

TYPE

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

  DSAParameterSpec* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + AlgorithmParameterSpec + java_security_interfaces.DSAParams)
                      STATIC
                        PROCEDURE Init*(p0 : java_math.BigInteger;
                                        p1 : java_math.BigInteger;
                                        p2 : java_math.BigInteger) : DSAParameterSpec,CONSTRUCTOR;
                      END;

  DSAPrivateKeySpec* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + KeySpec)
                       STATIC
                         PROCEDURE Init*(p0 : java_math.BigInteger;
                                         p1 : java_math.BigInteger;
                                         p2 : java_math.BigInteger;
                                         p3 : java_math.BigInteger) : DSAPrivateKeySpec,CONSTRUCTOR;
                       END;

  DSAPublicKeySpec* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + KeySpec)
                      STATIC
                        PROCEDURE Init*(p0 : java_math.BigInteger;
                                        p1 : java_math.BigInteger;
                                        p2 : java_math.BigInteger;
                                        p3 : java_math.BigInteger) : DSAPublicKeySpec,CONSTRUCTOR;
                      END;

  EncodedKeySpec* = POINTER TO ABSTRACT RECORD (java_lang.Object + KeySpec)
                    STATIC
                      PROCEDURE Init*(IN  p0 : ARRAY OF BYTE) : EncodedKeySpec,CONSTRUCTOR;
                    END;

  InvalidKeySpecException* = POINTER TO EXTENSIBLE RECORD (java_security.GeneralSecurityException)
                             STATIC
                               PROCEDURE Init*() : InvalidKeySpecException,CONSTRUCTOR;
                               PROCEDURE Init*(p0 : java_lang.String) : InvalidKeySpecException,CONSTRUCTOR;
                             END;

  InvalidParameterSpecException* = POINTER TO EXTENSIBLE RECORD (java_security.GeneralSecurityException)
                                   STATIC
                                     PROCEDURE Init*() : InvalidParameterSpecException,CONSTRUCTOR;
                                     PROCEDURE Init*(p0 : java_lang.String) : InvalidParameterSpecException,CONSTRUCTOR;
                                   END;

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

  PKCS8EncodedKeySpec* = POINTER TO EXTENSIBLE RECORD (EncodedKeySpec)
                         STATIC
                           PROCEDURE Init*(IN  p0 : ARRAY OF BYTE) : PKCS8EncodedKeySpec,CONSTRUCTOR;
                         END;

  RSAPrivateCrtKeySpec* = POINTER TO EXTENSIBLE RECORD (RSAPrivateKeySpec)
                          STATIC
                            PROCEDURE Init*(p0 : java_math.BigInteger;
                                            p1 : java_math.BigInteger;
                                            p2 : java_math.BigInteger;
                                            p3 : java_math.BigInteger;
                                            p4 : java_math.BigInteger;
                                            p5 : java_math.BigInteger;
                                            p6 : java_math.BigInteger;
                                            p7 : java_math.BigInteger) : RSAPrivateCrtKeySpec,CONSTRUCTOR;
                          END;

  RSAPrivateKeySpec* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + KeySpec)
                       STATIC
                         PROCEDURE Init*(p0 : java_math.BigInteger;
                                         p1 : java_math.BigInteger) : RSAPrivateKeySpec,CONSTRUCTOR;
                       END;

  RSAPublicKeySpec* = POINTER TO EXTENSIBLE RECORD (java_lang.Object + KeySpec)
                      STATIC
                        PROCEDURE Init*(p0 : java_math.BigInteger;
                                        p1 : java_math.BigInteger) : RSAPublicKeySpec,CONSTRUCTOR;
                      END;

  X509EncodedKeySpec* = POINTER TO EXTENSIBLE RECORD (EncodedKeySpec)
                        STATIC
                          PROCEDURE Init*(IN  p0 : ARRAY OF BYTE) : X509EncodedKeySpec,CONSTRUCTOR;
                        END;




PROCEDURE (self:DSAParameterSpec) getG*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:DSAParameterSpec) getP*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:DSAParameterSpec) getQ*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:DSAPrivateKeySpec) getG*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:DSAPrivateKeySpec) getP*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:DSAPrivateKeySpec) getQ*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:DSAPrivateKeySpec) getX*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:DSAPublicKeySpec) getG*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:DSAPublicKeySpec) getP*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:DSAPublicKeySpec) getQ*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:DSAPublicKeySpec) getY*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:EncodedKeySpec) getEncoded*() : POINTER TO ARRAY OF BYTE,NEW,EXTENSIBLE;

PROCEDURE (self:EncodedKeySpec) getFormat*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:PKCS8EncodedKeySpec) getEncoded*() : POINTER TO ARRAY OF BYTE,EXTENSIBLE;

PROCEDURE (self:PKCS8EncodedKeySpec) getFormat*() : java_lang.String;

PROCEDURE (self:RSAPrivateCrtKeySpec) getCrtCoefficient*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:RSAPrivateCrtKeySpec) getPrimeExponentP*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:RSAPrivateCrtKeySpec) getPrimeExponentQ*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:RSAPrivateCrtKeySpec) getPrimeP*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:RSAPrivateCrtKeySpec) getPrimeQ*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:RSAPrivateCrtKeySpec) getPublicExponent*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:RSAPrivateKeySpec) getModulus*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:RSAPrivateKeySpec) getPrivateExponent*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:RSAPublicKeySpec) getModulus*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:RSAPublicKeySpec) getPublicExponent*() : java_math.BigInteger,NEW,EXTENSIBLE;

PROCEDURE (self:X509EncodedKeySpec) getEncoded*() : POINTER TO ARRAY OF BYTE,EXTENSIBLE;

PROCEDURE (self:X509EncodedKeySpec) getFormat*() : java_lang.String;

END java_security_spec.