FOREIGN MODULE javax_security_auth_x500;

IMPORT
    java_security := "java.security",
    java_io := "java.io",
    java_lang := "java.lang",
    sun_security_x509 := "sun.security.x509",
    java_util := "java.util",
    javax_security_auth := "javax.security.auth",
    java_security_cert := "java.security.cert";

TYPE

  X500Principal* = POINTER TO RECORD (java_lang.Object + java_security.Principal + java_io.Serializable)    (* Typebound Procedures *)
                   STATIC
                     CANONICAL* = "CANONICAL";
                     RFC1779*   = "RFC1779";
                     RFC2253*   = "RFC2253";
                     PROCEDURE Init*(IN  p0 : ARRAY OF BYTE) : X500Principal,CONSTRUCTOR;
                     PROCEDURE Init*(p0 : java_io.InputStream) : X500Principal,CONSTRUCTOR;
                     PROCEDURE Init*(p0 : java_lang.String) : X500Principal,CONSTRUCTOR;
                     PROCEDURE Init*(p0 : java_lang.String;
                                     p1 : java_util.Map) : X500Principal,CONSTRUCTOR;
                   END;

  X500PrivateCredential* = POINTER TO RECORD (java_lang.Object + javax_security_auth.Destroyable)    (* Typebound Procedures *)
                           STATIC
                             PROCEDURE Init*(p0 : java_security_cert.X509Certificate;
                                             p1 : java_security.PrivateKey;
                                             p2 : java_lang.String) : X500PrivateCredential,CONSTRUCTOR;
                             PROCEDURE Init*(p0 : java_security_cert.X509Certificate;
                                             p1 : java_security.PrivateKey) : X500PrivateCredential,CONSTRUCTOR;
                           END;




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

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

PROCEDURE (self:X500Principal) getName*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:X500Principal) getName*(p0 : java_lang.String) : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:X500Principal) getName*(p0 : java_lang.String;
                                        p1 : java_util.Map) : java_lang.String,NEW,EXTENSIBLE;

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

PROCEDURE (self:X500Principal) toString*() : java_lang.String,EXTENSIBLE;

PROCEDURE (self:X500PrivateCredential) destroy*(),NEW,EXTENSIBLE;

PROCEDURE (self:X500PrivateCredential) getAlias*() : java_lang.String,NEW,EXTENSIBLE;

PROCEDURE (self:X500PrivateCredential) getCertificate*() : java_security_cert.X509Certificate,NEW,EXTENSIBLE;

PROCEDURE (self:X500PrivateCredential) getPrivateKey*() : java_security.PrivateKey,NEW,EXTENSIBLE;

PROCEDURE (self:X500PrivateCredential) isDestroyed*() : BOOLEAN,NEW,EXTENSIBLE;

END javax_security_auth_x500.