FOREIGN MODULE java_security_cert;

IMPORT
    java_lang,
    java_security,
    java_io,
    java_lang_reflect,
    java_util,
    java_math;

TYPE

  Certificate* = POINTER TO ABSTRACT RECORD (java_lang.Object)
                 STATIC
                   PROCEDURE Init!(p0 : java_lang.String) : Certificate,CONSTRUCTOR;
                 END;

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

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

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

  CertificateFactory* = POINTER TO EXTENSIBLE RECORD (java_lang.Object)
                        STATIC
                          PROCEDURE Init!(p0 : CertificateFactorySpi;
                                          p1 : java_security.Provider;
                                          p2 : java_lang.String) : CertificateFactory,CONSTRUCTOR;
                          PROCEDURE getInstance*(p0 : java_lang.String) : CertificateFactory;
                          PROCEDURE getInstance*(p0 : java_lang.String;
                                                 p1 : java_lang.String) : CertificateFactory;
                        END;

  CertificateFactorySpi* = POINTER TO ABSTRACT RECORD (java_lang.Object)
                           STATIC
                             PROCEDURE Init*() : CertificateFactorySpi,CONSTRUCTOR;
                           END;

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

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

  CRL* = POINTER TO ABSTRACT RECORD (java_lang.Object)
         STATIC
           PROCEDURE Init!(p0 : java_lang.String) : CRL,CONSTRUCTOR;
         END;

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

  X509Certificate* = POINTER TO ABSTRACT RECORD (Certificate + X509Extension)
                     STATIC
                       PROCEDURE Init!() : X509Certificate,CONSTRUCTOR;
                     END;

  X509CRL* = POINTER TO ABSTRACT RECORD (CRL + X509Extension)
             STATIC
               PROCEDURE Init!() : X509CRL,CONSTRUCTOR;
             END;

  X509CRLEntry* = POINTER TO ABSTRACT RECORD (java_lang.Object + X509Extension)
                  STATIC
                    PROCEDURE Init*() : X509CRLEntry,CONSTRUCTOR;
                  END;

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




PROCEDURE (self:Certificate) equals*(p0 : java_lang.Object) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:Certificate) getEncoded*() : POINTER TO ARRAY OF BYTE,NEW,ABSTRACT;

PROCEDURE (self:Certificate) getPublicKey*() : java_security.PublicKey,NEW,ABSTRACT;

PROCEDURE (self:Certificate) getType*() : java_lang.String,NEW;

PROCEDURE (self:Certificate) hashCode*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:Certificate) toString*() : java_lang.String,ABSTRACT;

PROCEDURE (self:Certificate) verify*(p0 : java_security.PublicKey),NEW,ABSTRACT;

PROCEDURE (self:Certificate) verify*(p0 : java_security.PublicKey;
                                     p1 : java_lang.String),NEW,ABSTRACT;

PROCEDURE (self:CertificateFactory) generateCRL*(p0 : java_io.InputStream) : CRL,NEW;

PROCEDURE (self:CertificateFactory) generateCRLs*(p0 : java_io.InputStream) : java_util.Collection,NEW;

PROCEDURE (self:CertificateFactory) generateCertificate*(p0 : java_io.InputStream) : Certificate,NEW;

PROCEDURE (self:CertificateFactory) generateCertificates*(p0 : java_io.InputStream) : java_util.Collection,NEW;

PROCEDURE (self:CertificateFactory) getProvider*() : java_security.Provider,NEW;

PROCEDURE (self:CertificateFactory) getType*() : java_lang.String,NEW;

PROCEDURE (self:CertificateFactorySpi) engineGenerateCRL*(p0 : java_io.InputStream) : CRL,NEW,ABSTRACT;

PROCEDURE (self:CertificateFactorySpi) engineGenerateCRLs*(p0 : java_io.InputStream) : java_util.Collection,NEW,ABSTRACT;

PROCEDURE (self:CertificateFactorySpi) engineGenerateCertificate*(p0 : java_io.InputStream) : Certificate,NEW,ABSTRACT;

PROCEDURE (self:CertificateFactorySpi) engineGenerateCertificates*(p0 : java_io.InputStream) : java_util.Collection,NEW,ABSTRACT;

PROCEDURE (self:CRL) getType*() : java_lang.String,NEW;

PROCEDURE (self:CRL) isRevoked*(p0 : Certificate) : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:CRL) toString*() : java_lang.String,ABSTRACT;

PROCEDURE (self:X509Certificate) checkValidity*(),NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) checkValidity*(p0 : java_util.Date),NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getBasicConstraints*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getCriticalExtensionOIDs*() : java_util.Set,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getExtensionValue*(p0 : java_lang.String) : POINTER TO ARRAY OF BYTE,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getIssuerDN*() : java_security.Principal,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getIssuerUniqueID*() : POINTER TO ARRAY OF BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getKeyUsage*() : POINTER TO ARRAY OF BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getNonCriticalExtensionOIDs*() : java_util.Set,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getNotAfter*() : java_util.Date,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getNotBefore*() : java_util.Date,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getSerialNumber*() : java_math.BigInteger,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getSigAlgName*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getSigAlgOID*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getSigAlgParams*() : POINTER TO ARRAY OF BYTE,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getSignature*() : POINTER TO ARRAY OF BYTE,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getSubjectDN*() : java_security.Principal,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getSubjectUniqueID*() : POINTER TO ARRAY OF BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getTBSCertificate*() : POINTER TO ARRAY OF BYTE,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) getVersion*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:X509Certificate) hasUnsupportedCriticalExtension*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:X509CRL) equals*(p0 : java_lang.Object) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:X509CRL) getCriticalExtensionOIDs*() : java_util.Set,NEW,ABSTRACT;

PROCEDURE (self:X509CRL) getEncoded*() : POINTER TO ARRAY OF BYTE,NEW,ABSTRACT;

PROCEDURE (self:X509CRL) getExtensionValue*(p0 : java_lang.String) : POINTER TO ARRAY OF BYTE,NEW,ABSTRACT;

PROCEDURE (self:X509CRL) getIssuerDN*() : java_security.Principal,NEW,ABSTRACT;

PROCEDURE (self:X509CRL) getNextUpdate*() : java_util.Date,NEW,ABSTRACT;

PROCEDURE (self:X509CRL) getNonCriticalExtensionOIDs*() : java_util.Set,NEW,ABSTRACT;

PROCEDURE (self:X509CRL) getRevokedCertificate*(p0 : java_math.BigInteger) : X509CRLEntry,NEW,ABSTRACT;

PROCEDURE (self:X509CRL) getRevokedCertificates*() : java_util.Set,NEW,ABSTRACT;

PROCEDURE (self:X509CRL) getSigAlgName*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:X509CRL) getSigAlgOID*() : java_lang.String,NEW,ABSTRACT;

PROCEDURE (self:X509CRL) getSigAlgParams*() : POINTER TO ARRAY OF BYTE,NEW,ABSTRACT;

PROCEDURE (self:X509CRL) getSignature*() : POINTER TO ARRAY OF BYTE,NEW,ABSTRACT;

PROCEDURE (self:X509CRL) getTBSCertList*() : POINTER TO ARRAY OF BYTE,NEW,ABSTRACT;

PROCEDURE (self:X509CRL) getThisUpdate*() : java_util.Date,NEW,ABSTRACT;

PROCEDURE (self:X509CRL) getVersion*() : INTEGER,NEW,ABSTRACT;

PROCEDURE (self:X509CRL) hasUnsupportedCriticalExtension*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:X509CRL) hashCode*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:X509CRL) verify*(p0 : java_security.PublicKey),NEW,ABSTRACT;

PROCEDURE (self:X509CRL) verify*(p0 : java_security.PublicKey;
                                 p1 : java_lang.String),NEW,ABSTRACT;

PROCEDURE (self:X509CRLEntry) equals*(p0 : java_lang.Object) : BOOLEAN,EXTENSIBLE;

PROCEDURE (self:X509CRLEntry) getCriticalExtensionOIDs*() : java_util.Set,NEW,ABSTRACT;

PROCEDURE (self:X509CRLEntry) getEncoded*() : POINTER TO ARRAY OF BYTE,NEW,ABSTRACT;

PROCEDURE (self:X509CRLEntry) getExtensionValue*(p0 : java_lang.String) : POINTER TO ARRAY OF BYTE,NEW,ABSTRACT;

PROCEDURE (self:X509CRLEntry) getNonCriticalExtensionOIDs*() : java_util.Set,NEW,ABSTRACT;

PROCEDURE (self:X509CRLEntry) getRevocationDate*() : java_util.Date,NEW,ABSTRACT;

PROCEDURE (self:X509CRLEntry) getSerialNumber*() : java_math.BigInteger,NEW,ABSTRACT;

PROCEDURE (self:X509CRLEntry) hasExtensions*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:X509CRLEntry) hasUnsupportedCriticalExtension*() : BOOLEAN,NEW,ABSTRACT;

PROCEDURE (self:X509CRLEntry) hashCode*() : INTEGER,EXTENSIBLE;

PROCEDURE (self:X509CRLEntry) toString*() : java_lang.String,ABSTRACT;

PROCEDURE (self:X509Extension) getCriticalExtensionOIDs*() : java_util.Set,NEW,ABSTRACT;

PROCEDURE (self:X509Extension) getExtensionValue*(p0 : java_lang.String) : POINTER TO ARRAY OF BYTE,NEW,ABSTRACT;

PROCEDURE (self:X509Extension) getNonCriticalExtensionOIDs*() : java_util.Set,NEW,ABSTRACT;

PROCEDURE (self:X509Extension) hasUnsupportedCriticalExtension*() : BOOLEAN,NEW,ABSTRACT;

END java_security_cert.