⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sl3pm.idl

📁 MICO2.3.13 corba 环境平台
💻 IDL
📖 第 1 页 / 共 2 页
字号:
        /**          * This field indicates whether the principal was derived from         * a authentication mechanism and authenticated.         */        public boolean            authenticated;        /**         * This field contains the other name types, such as         * that appear in the X.509 alternate name fields.         */        public PrincipalNameList  alternate_names;        /** @deprecated */        factory create(            in PrincipalName           the_name,            in ScopedPrivilegesList    with_privileges,            in PrincipalNameList       alternate_names        );    };        /**     *  A ProxyPrincipal represents a principal that speaks for another.     * The principal is proved that it is authorized to speak for another.     * The system believes this, either by trust rules of its own,     * or by delivered endorsement from the principal such as     * Principal (B for A) where the endorsement takes the form     * in the Principal Calculus as (T says B serves A)     * where T is some entity trusted by the security service     * to make those statements.     * <p>     * Important: This valuetype extends the Principal value type. The     * "the_name" filed of this object will contain the name of the      * speaks_for principal, as that is the name most access control     * systems would care about. Therefore, this value type can be     * truncated by access control systems that do not want to      * examine the principal in detail.     */    valuetype ProxyPrincipal :  truncatable Principal {            /**          * In a Proxy Principal of (A for B) the speaking field represents         * the principal A.         */        public Principal  speaking;                 /**          * In a Proxy Principal of (A for B) the speaks_for field represents         * the principal B.         */       public Principal  speaks_for;                /** @deprecated */        factory create(            in Principal  speaking,            in Principal  speaks_for        );    };        /**     *  A QuotingPrincipal represents a principal that speaks for another.     * The principal is not proved that it is authorized to speak for another.     * The system derives principals like this based on statements in the     * calculus, such as "(A says B says r), which results in the     * quoting principal ((A|B) says r), where "r" is a statement,like     * a CORBA request. The security service derives principals like     * this from the CSI Identity Assertion mechanism.     * <p>     * Important: This valuetype extends the Principal value type. The     * "the_name" filed of this object will contain the name of the      * speaks_for principal, as that is the name most access control     * systems would care about. Therefore, this value type can be     * truncated by access control systems that do not want to      * examine the principal in detail.     */    valuetype QuotingPrincipal :  truncatable Principal {            /**          * In a Proxy Principal of (A|B) the speaking field represents         * the principal A.         */        public Principal        speaking;                /**          * In a Proxy Principal of (A|B) the quotes_for field represents         * the principal B.          */        public Principal        quotes_for;                factory create(            in Principal         speaking,            in Principal         quotes_for        );    };        //    // Statements    //        /**     * A Statement is a value type that has extensions which     * represent the different relevant data directed by its StatementType.     * There are two basic Statement Types, an IdentityStatement and     * an EndorsementStatement. An identity statement is a statement that     * asserts an identity. It may represent a the components of      * an X.509 certificate during an authentication. An EndorsementStatement     * may represent the contents of an X.509 AttributeCertificate or     * some other notion of an endorsement, such as a certificate in      * BizTalk XML.     * <p>     * Statements are contained in the Credentials Objects. They     * represent pieces of evidence collected from which the security     * service deduces the Principal of the Credentials Objects.     */    typedef unsigned long StatementType;        /**     * The Identity Statement Type.     * <p>     * A statement of this type at least extends to the      * IdentityStatement valuetype, if not truncated     * @see IdentityStatement     */    const StatementType ST_IdentityStatement    = 1; //valuetype IdentityStatement    /**     * The Endorsement Statement Type.     * <p>     * A statement of this type at least extends to the      * EndorsementStatement valuetype, if not truncated     * @see EndorsementStatement     */    const StatementType ST_EndorsementStatement = 2; //valuetype EndorsementStatement    /**     * An encoding is a sequence of bytes.     */    typedef sequence<octet> Encoding;        /**     * Statement encoding type.     * <p>     * Statements carry their original encoding information, if     * they came from an encoding, such as list of X.509 identity     * certificates (i.e. a chain). The encoding type may be derivable     * from the encoding itself. For example, it's easy to tell the     * difference between a PEM encoded certificate, and a DER encoded     * certificate. Therefore, the encoding type may default to "Unknown".     * Other types may exist than the ones provided as constants in      * this module.     */    typedef string EncodingType;        /**     * The ET_NoEncoding type signifies that the statement     * has been generated solely by the security service     * and has no encoding.     */    const EncodingType ET_NoEncoding = "NoEncoding";        /**     * The ET_Unknown encoding type may always be used if the encoding     * type can only be figured out from encoding itself.     */    const EncodingType ET_Unknown = "Unknown";    /**     * User Exception for a bad encoding.     */    exception BadEncoding {};        /**     * User Exception for a bad or unsupported encoding type.     */    exception BadEncodingType {};            /**     * The Statement Layer is the layer of the protocol or security     * service from which the statement emanated, derived, or was collected.     */    typedef unsigned long StatementLayer;        /**     * Default type for a Statement Layer     */    const StatementLayer SL_Unknown          = 0;    /**     * The SL_Transport statement type signifies that the associated     * statement is derived from the transport layer, such as      * an X.509 Certificate from a TLS handshake.     */    const StatementLayer SL_Transport        = 1;    /**     * The SL_CSIAuthorization statement type signifies that the associated     * statement is derived from the CSI Authorization Layer in the CSIv2     * protocol.     */    const StatementLayer SL_CSIAuthorization = 2;    /**     * The SL_CSIClientAuth statement type signifies that the associated     * statement is derived from the CSI Client Authentication Layer      * in the CSIv2 protocol.     */    const StatementLayer SL_CSIClientAuth    = 3;    /**     * The SL_CSIIdentity statement type signifies that the associated     * statement is derived from the CSI Identity Assertion Layer      * in the CSIv2 protocol.     */    const StatementLayer SL_CSIIdentity      = 4;        /**     * The SL_UserDefined statement layer signifies that the associate     * statement is derived or created by a user or some other     * entity than the security service.     */    const StatementLayer SL_UserDefined     = 5;        /**     * The Statement base type contains the information common     * to all statements. A statement has an "external" encoding, such     * as an X509 Certificate. Some statements may not have an encoding,      * but its extension may carry the pertinent marshable information,     * such as a PrincipalIdentityStatement for anonymous, which is     * generated by the security service.     */    valuetype Statement {        /**         * This field contains an identifier of the          * service layer that generated the statement.         * The layer that generated or delivered          * the statement, i.e. transport, CSIv2 Authentication,         * CSIv2 Authorization, or CSIv2 Identity Assertion.         */       public StatementLayer          the_layer;        /**         * The type of statement, which indicates its extension         * such as an Identity Statement or an Endorsement         * Statement.         */        public StatementType           the_type;        /**         * This field indicates the type of encoding.         * The encoding may be contrived, at the encoding         * may not exist, however, the extension of the         * statement type may contain data that can         * be marshaled across the wire. See the Principal         * Identity Statement.         */        private EncodingType  encoding_type;        /**         * The bytes of the encoding, if it exists.         */        private Encoding      the_encoding;            /**         * Returns the encoding type         */        EncodingType get_encoding_type();                /**         * Returns an encoding of this statement. Some implementations         * may be able to convert. Using and encoding_type of         * ET_Unknown, will always yield the default encoding,         * if it exists. If the encoding does not exist,         * a successful return containing an empty          * sequence will result.         */        Encoding get_encoding(            in EncodingType encoding_type        ) raises (            BadEncodingType        );                /**         * This factory method allows users to create their         * own Statements from an encoding. The statements created         * by this factory method may have a type which is a further         * extension of the valuetype Statement.         */        factory create(            in EncodingType   encoding_type,            in Encoding       the_encoding        );     };     typedef sequence<Statement> StatementList;    /**     * The Identity Statement further classifies the encoding     * as a statement that if verified asserts an identity.      */    valuetype IdentityStatement : Statement {        /**         * This field contains a possibly well known identifier that         * may aid in the interpretation of the identity statement's         * encoding. It may be an empty string, which signifies that         * there is no known interpretation aid for the encoding, or         * that there is no encoding.         */        public string                      interpretation_aid;    };        /**     * The Principal Identity Statement is the minimal version of an      * Identity statement that asserts a single identity that the      * security service can translate into a principal.     * <p>     * An example of an identity statement is an X.509 certificate in     * which its attributes are exposed into the principal, such as     * privileges. This valuetype may also be further extended by the     * security service depending on its encoding and the capabilities     * of the security service.     */    valuetype PrincipalIdentityStatement : IdentityStatement {        public Principal the_principal;    };        /**     * The Endorsement Statement is a statement that is used for      * authorization. An Endorsement statement endorses a      * principal with certain characteristics, such as privileges     * or the authority to act on behalf of another principal, sometimes     * called "delegation".     * <p>     * According to our research, an endorsement statement may be a     * complex entity containing  matching rules for the endorsement.      * An endorsement may have the following general form:     * <pre>     *     I says Principal A matching [(P1 with [p1,...,pn]) or ....]     *        speaks_for      *          Principal B matching [(T1 with [t1,...,tn]) or ... ]     *        has [s1,...,sm]     *        on Resources matching [R1, .... Rn]     * </pre>     * Actual semantic reduction of principals is directed by the     * the matching rules, and may depend on other statements as well,     * such as local trust rules in the security service configuration.     * Also, much of the capability of an endorsement statement is     * dependent on its encoding.     * <p>     * This approach to authorization is a largely unexplored research     * topic. There are not many or well known encodings of endorsement     * statements. Therefore, we are reluctant to produce interfaces     * just yet, that go beyond the encoding. However, we do expose the     * Endorsement statement type, which may further direct the interpretation     * of it's encoding.     */    valuetype EndorsementStatement : Statement {        /**         * This field contains a possibly well known identifier that         * may aid in the interpretation of the identity statement's         * encoding. It may be an empty string, which signifies that         * there is no known interpretation aid for the encoding, or         * that there is no encoding.         */        public string                      interpretation_aid;    };            /**     * An X509IdentityStatement is one that extends the Principal Identity     * Statement. If one does get an X509 IdentityStatement, it is     * currently supported with IAIK in both DER and PEM formats.     */    valuetype X509IdentityStatement : PrincipalIdentityStatement {        /**         * This factory method allows users to create their         * own X509Identity statements from an encoding.         */        factory create(            in EncodingType   encoding_type,            in Encoding       the_encoding        );    };    typedef sequence<X509IdentityStatement> X509IdentityStatementList;    }; // SL3PM#endif // _SL3PM_IDL_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -