Network Working Group M. Upadhyay Request for Comments: 5653 Google Obsoletes: 2853 S. Malkani Category: Standards Track ActivIdentity August 2009
Generic Security Service API Version 2: Java Bindings Update
Abstract
抽象
The Generic Security Services Application Program Interface (GSS-API) offers application programmers uniform access to security services atop a variety of underlying cryptographic mechanisms. This document updates the Java bindings for the GSS-API that are specified in "Generic Security Service API Version 2 : Java Bindings" (RFC 2853). This document obsoletes RFC 2853 by making specific and incremental clarifications and corrections to it in response to identification of transcription errors and implementation experience.
一般的なセキュリティサービスアプリケーションプログラムインタフェース(GSS-API)は、アプリケーションプログラマに基本的な暗号メカニズムの様々な頂上セキュリティサービスへの均一なアクセスを提供しています。 (RFC 2853):この文書は、「Javaのバインディング一般的なセキュリティサービスAPIバージョン2」に指定されているGSS-APIのJavaバインディングを更新します。この文書は、転写エラーと実装経験の識別に応答してそれに特異的かつ増分明確化と修正を行うことで、RFC 2853を時代遅れ。
The GSS-API is described at a language-independent conceptual level in "Generic Security Service Application Program Interface Version 2, Update 1" (RFC 2743). The GSS-API allows a caller application to authenticate a principal identity, to delegate rights to a peer, and to apply security services such as confidentiality and integrity on a per-message basis. Examples of security mechanisms defined for GSS-API are "The Simple Public-Key GSS-API Mechanism" (RFC 2025) and "The Kerberos Version 5 Generic Security Service Application Program Interface (GSS-API) Mechanism: Version 2" (RFC 4121).
GSS-APIは、「ジェネリックセキュリティーサービス適用業務プログラムインタフェースバージョン2、アップデート1」(RFC 2743)には、言語に依存しない概念レベルで記述されています。 GSS-APIは、呼び出し元のアプリケーションは、主要なアイデンティティを認証するために、ピアへの権限を委任すると、メッセージごとに、このような機密性と完全性などのセキュリティサービスを適用することができます。 GSS-APIのために定義されたセキュリティ・メカニズムの例は、「単純な公開鍵GSS-APIメカニズム」(RFC 2025)および「Kerberosバージョン5の汎用セキュリティサービスアプリケーションプログラムインタフェース(GSS-API)メカニズム:バージョン2」(RFC 4121 )。
Status of This Memo
このメモのステータス
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
この文書は、インターネットコミュニティのためのインターネット標準トラックプロトコルを指定し、改善のための議論と提案を要求します。このプロトコルの標準化状態と状態への「インターネット公式プロトコル標準」(STD 1)の最新版を参照してください。このメモの配布は無制限です。
Copyright Notice
著作権表示
Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved.
著作権(C)2009 IETF信託とドキュメントの作成者として特定の人物。全著作権所有。
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document.
この文書では、BCP 78と、この文書(http://trustee.ietf.org/license-info)の発行日に有効なIETFドキュメントに関連IETFトラストの法律の規定に従うものとします。彼らは、この文書に関してあなたの権利と制限を説明するように、慎重にこれらの文書を確認してください。
This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English.
この材料の一部がIETFトラストにこのような材料の変更を許可する権利を与えられていない可能性がありますにこの文書は、2008年、IETFドキュメントまたは11月10日以前に発行または公開さIETF貢献から著作権を支配する者(複数可)材料を含んでいてもよいですIETF標準化プロセスの外。そのような材料の著作権を管理者(単数または複数)から適切なライセンスを取得することなく、この文書は、IETF標準化過程の外側修正されないかもしれません、そして、それの派生物は、IETF標準化過程の外側に作成されない場合があり、それをフォーマットする以外出版RFCとして、英語以外の言語に翻訳します。
Table of Contents
目次
1. Introduction ....................................................6 2. Conventions and Licenses ........................................7 3. GSS-API Operational Paradigm ....................................8 4. Additional Controls .............................................9 4.1. Delegation ................................................10 4.2. Mutual Authentication .....................................11 4.3. Replay and Out-of-Sequence Detection ......................11 4.4. Anonymous Authentication ..................................12 4.5. Confidentiality ...........................................13 4.6. Inter-process Context Transfer ............................13 4.7. The Use of Incomplete Contexts ............................14 5. Calling Conventions ............................................15 5.1. Package Name ..............................................15 5.2. Provider Framework ........................................15 5.3. Integer Types .............................................16 5.4. Opaque Data Types .........................................16 5.5. Strings ...................................................16 5.6. Object Identifiers ........................................16 5.7. Object Identifier Sets ....................................17 5.8. Credentials ...............................................17 5.9. Contexts ..................................................19 5.10. Authentication Tokens ....................................19 5.11. Inter-Process Tokens .....................................20 5.12. Error Reporting ..........................................20 5.12.1. GSS Status Codes ..................................21 5.12.2. Mechanism-Specific Status Codes ...................23 5.12.3. Supplementary Status Codes ........................23 5.13. Names ....................................................24 5.14. Channel Bindings .........................................26 5.15. Stream Objects ...........................................27 5.16. Optional Parameters ......................................28 6. Introduction to GSS-API Classes and Interfaces .................28 6.1. GSSManager Class ..........................................28 6.2. GSSName Interface .........................................29
6.3. GSSCredential Interface ...................................30 6.4. GSSContext Interface ......................................30 6.5. MessageProp Class .........................................31 6.6. GSSException Class ........................................32 6.7. Oid Class .................................................32 6.8. ChannelBinding Class ......................................32 7. Detailed GSS-API Class Description .............................33 7.1. public abstract class GSSManager ..........................33 7.1.1. Example Code .......................................34 7.1.2. getInstance ........................................34 7.1.3. getMechs ...........................................35 7.1.4. getNamesForMech ....................................35 7.1.5. getMechsForName ....................................35 7.1.6. createName .........................................35 7.1.7. createName .........................................36 7.1.8. createName .........................................36 7.1.9. createName .........................................37 7.1.10. createCredential ..................................38 7.1.11. createCredential ..................................38 7.1.12. createCredential ..................................39 7.1.13. createContext .....................................39 7.1.14. createContext .....................................40 7.1.15. createContext .....................................40 7.1.16. addProviderAtFront ................................41 7.1.17. Example Code ......................................41 7.1.18. addProviderAtEnd ..................................42 7.1.19. Example Code ......................................43 7.2. public interface GSSName ..................................44 7.2.1. Example Code .......................................44 7.2.2. Static Constants ...................................45 7.2.3. equals .............................................46 7.2.4. equals .............................................46 7.2.5. canonicalize .......................................46 7.2.6. export .............................................47 7.2.7. toString ...........................................47 7.2.8. getStringNameType ..................................47 7.2.9. isAnonymous ........................................47 7.2.10. isMN ..............................................47 7.3. public interface GSSCredential implements Cloneable .......47 7.3.1. Example Code .......................................49 7.3.2. Static Constants ...................................49 7.3.3. dispose ............................................50 7.3.4. getName ............................................50 7.3.5. getName ............................................50 7.3.6. getRemainingLifetime ...............................50 7.3.7. getRemainingInitLifetime ...........................51 7.3.8. getRemainingAcceptLifetime .........................51 7.3.9. getUsage ...........................................51
7.3.10. getUsage ..........................................51 7.3.11. getMechs ..........................................52 7.3.12. add ...............................................52 7.3.13. equals ............................................53 7.4. public interface GSSContext ...............................53 7.4.1. Example Code .......................................54 7.4.2. Static Constants ...................................56 7.4.3. initSecContext .....................................56 7.4.4. Example Code .......................................57 7.4.5. initSecContext .....................................58 7.4.6. Example Code .......................................58 7.4.7. acceptSecContext ...................................59 7.4.8. Example Code .......................................60 7.4.9. acceptSecContext ...................................61 7.4.10. Example Code ......................................61 7.4.11. isEstablished .....................................62 7.4.12. dispose ...........................................62 7.4.13. getWrapSizeLimit ..................................63 7.4.14. wrap ..............................................63 7.4.15. wrap ..............................................64 7.4.16. unwrap ............................................65 7.4.17. unwrap ............................................66 7.4.18. getMIC ............................................67 7.4.19. getMIC ............................................68 7.4.20. verifyMIC .........................................68 7.4.21. verifyMIC .........................................69 7.4.22. export ............................................70 7.4.23. requestMutualAuth .................................71 7.4.24. requestReplayDet ..................................71 7.4.25. requestSequenceDet ................................71 7.4.26. requestCredDeleg ..................................71 7.4.27. requestAnonymity ..................................72 7.4.28. requestConf .......................................72 7.4.29. requestInteg ......................................72 7.4.30. requestLifetime ...................................73 7.4.31. setChannelBinding .................................73 7.4.32. getCredDelegState .................................73 7.4.33. getMutualAuthState ................................73 7.4.34. getReplayDetState .................................74 7.4.35. getSequenceDetState ...............................74 7.4.36. getAnonymityState .................................74 7.4.37. isTransferable ....................................74 7.4.38. isProtReady .......................................74 7.4.39. getConfState ......................................75 7.4.40. getIntegState .....................................75 7.4.41. getLifetime .......................................75 7.4.42. getSrcName ........................................75 7.4.43. getTargName .......................................75
7.4.44. getMech ...........................................76 7.4.45. getDelegCred ......................................76 7.4.46. isInitiator .......................................76 7.5. public class MessageProp ..................................76 7.5.1. Constructors .......................................77 7.5.2. getQOP .............................................77 7.5.3. getPrivacy .........................................77 7.5.4. getMinorStatus .....................................77 7.5.5. getMinorString .....................................77 7.5.6. setQOP .............................................78 7.5.7. setPrivacy .........................................78 7.5.8. isDuplicateToken ...................................78 7.5.9. isOldToken .........................................78 7.5.10. isUnseqToken ......................................78 7.5.11. isGapToken ........................................78 7.5.12. setSupplementaryStates ............................79 7.6. public class ChannelBinding ...............................79 7.6.1. Constructors .......................................80 7.6.2. getInitiatorAddress ................................80 7.6.3. getAcceptorAddress .................................80 7.6.4. getApplicationData .................................81 7.6.5. equals .............................................81 7.7. public class Oid ..........................................81 7.7.1. Constructors .......................................81 7.7.2. toString ...........................................82 7.7.3. equals .............................................82 7.7.4. getDER .............................................82 7.7.5. containedIn ........................................83 7.8. public class GSSException extends Exception ...............83 7.8.1. Static Constants ...................................83 7.8.2. Constructors .......................................86 7.8.3. getMajor ...........................................86 7.8.4. getMinor ...........................................86 7.8.5. getMajorString .....................................87 7.8.6. getMinorString .....................................87 7.8.7. setMinor ...........................................87 7.8.8. toString ...........................................87 7.8.9. getMessage .........................................87 8. Sample Applications ............................................88 8.1. Simple GSS Context Initiator ..............................88 8.2. Simple GSS Context Acceptor ...............................92 9. Security Considerations ........................................96 10. Acknowledgments ...............................................96 11. Changes since RFC 2853 ........................................97 12. References ....................................................98 12.1. Normative References .....................................98 12.2. Informative References ...................................98
This document specifies Java language bindings for the Generic Security Services Application Programming Interface version 2 (GSS-API). GSS-API version 2 is described in a language-independent format in RFC 2743 [GSSAPIv2-UPDATE]. The GSS-API allows a caller application to authenticate a principal identity, to delegate rights to a peer, and to apply security services such as confidentiality and integrity on a per-message basis.
この文書では、一般的なセキュリティサービスアプリケーションプログラミングインタフェースバージョン2(GSS-API)のためのJava言語バインディングを指定します。 GSS-APIのバージョン2は、RFC 2743で、言語に依存しない形式[GSSAPIv2-UPDATE]に記載されています。 GSS-APIは、呼び出し元のアプリケーションは、主要なアイデンティティを認証するために、ピアへの権限を委任すると、メッセージごとに、このような機密性と完全性などのセキュリティサービスを適用することができます。
This document and its predecessor, RFC 2853 [RFC2853], leverage the work done by the working group (WG) in the area of RFC 2743 [GSSAPIv2-UPDATE] and the C-bindings of RFC 2744 [GSSAPI-Cbind]. Whenever appropriate, text has been used from the C-bindings document (RFC 2744) to explain generic concepts and provide direction to the implementors.
本文書及びその前身、RFC 2853 [RFC2853]は、RFC 2743 [GSSAPIv2-UPDATE]およびRFC 2744 [GSSAPI-CBIND]のC-バインディングの領域にワーキンググループ(WG)によって行われた作業を活用します。適切な場合はいつでも、テキストは、一般的な概念を説明し、実装者への方向性を提供するために、C-バインディングの文書(RFC 2744)から使用されてきました。
The design goals of this API have been to satisfy all the functionality defined in RFC 2743 [GSSAPIv2-UPDATE] and to provide these services in an object-oriented method. The specification also aims to satisfy the needs of both types of Java application developers, those who would like access to a "system-wide" GSS-API implementation, as well as those who would want to provide their own "custom" implementation.
このAPIの設計目標は、RFC 2743 [GSSAPIv2-UPDATE]で定義されているすべての機能を満足させると、オブジェクト指向の方法でこれらのサービスを提供することとなっています。仕様では、Javaアプリケーション開発者の両方のタイプ、「システム全体」GSS-APIの実装だけでなく、自分自身の「カスタム」実装を提供したいと思う人たちへのアクセスを希望する人のニーズを満たすことを目指しています。
A system-wide implementation is one that is available to all applications in the form of a library package. It may be the standard package in the Java runtime environment (JRE) being used or it may be additionally installed and accessible to any application via the CLASSPATH.
システム全体の実装では、ライブラリパッケージの形ですべてのアプリケーションに利用できるものです。これは、Javaランタイム環境(JRE)での標準パッケージが使用されているか、それが増設され、CLASSPATHを経由して任意のアプリケーションにアクセス可能であってもよいです。
A custom implementation of the GSS-API, on the other hand, is one that would, in most cases, be bundled with the application during distribution. It is expected that such an implementation would be meant to provide for some particular need of the application, such as support for some specific mechanism.
GSS-APIのカスタム実装は、他の一方で、ほとんどの場合、配布時にアプリケーションにバンドルされることになるものです。このような実装は、このようないくつかの特定のメカニズムのサポートなど、アプリケーションのいくつかの特定の必要性、を提供することを意図されることが期待されます。
The design of this API also aims to provide a flexible framework to add and manage GSS-API mechanisms. GSS-API leverages the Java Cryptography Architecture (JCA) provider model to support the plugability of mechanisms. Mechanisms can be added on a system-wide basis, where all users of the framework will have them available. The specification also allows for the addition of mechanisms per-instance of the GSS-API.
このAPIの設計はまた、GSS-APIメカニズムを追加し、管理するための柔軟なフレームワークを提供することを目的とします。 GSS-APIは、メカニズムのplugabilityをサポートするためにJava暗号化アーキテクチャー(JCA)プロバイダモデルを活用しています。メカニズムは、フレームワークのすべてのユーザーがそれらを利用できる必要がありますシステム全体、上で追加することができます。仕様では、インスタンスごとのGSS-APIの機構の付加を可能にします。
Lastly, this specification presents an API that will naturally fit within the operation environment of the Java platform. Readers are assumed to be familiar with both the GSS-API and the Java platform.
最後に、この仕様は、当然、Javaプラットフォームの動作環境に収まるAPIを提供します。読者は、GSS-APIとJavaプラットフォームの両方に精通していることを前提としています。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
この文書のキーワード "MUST"、 "MUST NOT"、 "REQUIRED"、、、、 "べきではない" "べきである" "ないもの" "ものとし"、 "推奨"、 "MAY"、および "OPTIONAL" はあります[RFC2119]に記載されているように解釈されます。
The following license applies to all code segments included in this specification. If code is extracted from this specification, please include the following text in the code:
以下のライセンスは、この仕様書に含まれるすべてのコードセグメントに適用されます。コードはこの仕様書から抽出されている場合は、コードに次のテキストを含めてください。
/* -- Copyright (c) 2009 IETF Trust and the persons identified as -- authors of the code. All rights reserved. -- -- Redistribution and use in source and binary forms, with or without -- modification, are permitted provided that the following conditions -- are met: -- -- - Redistributions of source code must retain the above copyright -- notice, this list of conditions and the following disclaimer. -- -- - Redistributions in binary form must reproduce the above copyright -- notice, this list of conditions and the following disclaimer in -- the documentation and/or other materials provided with the -- distribution. -- -- - Neither the name of Internet Society, IETF or IETF Trust, nor the -- names of specific contributors, may be used to endorse or promote -- products derived from this software without specific prior -- written permission. -- -- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND -- CONTRIBUTORS 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, -- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -- POSSIBILITY OF SUCH DAMAGE. -- -- This code is part of RFC 5653; see the RFC itself for full legal -- notices. */
"Generic Security Service Application Programming Interface, Version 2" [GSSAPIv2-UPDATE] defines a generic security API to calling applications. It allows a communicating application to authenticate the user associated with another application, to delegate rights to another application, and to apply security services such as confidentiality and integrity on a per-message basis.
「一般的なセキュリティサービスアプリケーションプログラミングインタフェース、バージョン2」[GSSAPIv2-UPDATE]は、アプリケーションを呼び出すには、一般的なセキュリティAPIを定義します。これは、他のアプリケーションへの権限を委任すると、メッセージごとに機密性と整合性などのセキュリティサービスを適用するために、別のアプリケーションに関連付けられているユーザを認証するための通信アプリケーションを可能にします。
There are four stages to using GSS-API:
GSS-APIを使用して4つの段階があります。
1) The application acquires a set of credentials with which it may prove its identity to other processes. The application's credentials vouch for its global identity, which may or may not be related to any local username under which it may be running.
1)アプリケーションは、それが他のプロセスにその身元を証明する可能性があるとの一連の資格情報を取得します。アプリケーションの資格情報は、または、それが実行されてその下で任意のローカルユーザ名に関連してもしなくてもよいグローバルアイデンティティ、を保証します。
2) A pair of communicating applications establish a joint security context using their credentials. The security context encapsulates shared state information, which is required in order that per-message security services may be provided. Examples of state information that might be shared between applications as part of a security context are cryptographic keys and message sequence numbers. As part of the establishment of a security context, the context initiator is authenticated to the responder, and may require that the responder is authenticated back to the initiator. The initiator may optionally give the responder the right to initiate further security contexts, acting as an agent or delegate of the initiator. This transfer of rights is termed "delegation", and is achieved by creating a set of credentials, similar to those used by the initiating application, but which may be used by the responder.
2)通信アプリケーションのペアは、それらの資格情報を使用してジョイントセキュリティコンテキストを確立します。セキュリティコンテキストは、メッセージごとのセキュリティサービスを提供することができるようにするために必要とされる共有状態情報をカプセル化します。セキュリティコンテキストの一部として、アプリケーション間で共有される可能性がある状態情報の例は、暗号鍵と、メッセージシーケンス番号です。セキュリティコンテキストの確立の一部として、コンテキストイニシエータはレスポンダに認証され、レスポンダは、イニシエータに戻る認証されることを要求することができます。開始剤は、必要に応じて、イニシエータのエージェントまたは代理人として働く、レスポンダをさらにセキュリティコンテキストを開始する権利を与えることができます。権利のこの転送は、「委任」と呼ばれ、開始アプリケーションで使用されるものと同様の資格情報のセットを作成することによって達成されますが、応答者によって使用されることができます。
A GSSContext object is used to establish and maintain the shared information that makes up the security context. Certain GSSContext methods will generate a token, which applications treat as cryptographically protected, opaque data. The caller of such a GSSContext method is responsible for transferring the token to the peer application, encapsulated if necessary in an application-to-application protocol. On receipt of such a token, the peer application should pass it to a corresponding GSSContext method which will decode the token and extract the information, updating the security context state information accordingly.
GSSContextのオブジェクトは、セキュリティコンテキストを構成する共有情報を確立し、維持するために使用されます。特定のGSSContextのメソッドは、アプリケーションがのように暗号で保護さ、不透明なデータを扱うトークンを生成します。このようなGSSContextのメソッドの呼び出し元は、必要に応じて、アプリケーション・ツー・アプリケーションプロトコルでカプセル化されたピアアプリケーションにトークンを転送する責任があります。そのようなトークンを受信すると、ピアアプリケーションは、トークンを復号し、それに応じてセキュリティコンテキスト状態情報を更新し、情報を抽出し、対応するGSSContextのメソッドに渡すべきです。
3) Per-message services are invoked on a GSSContext object to apply either:
3)メッセージごとのサービスは、どちらか適用するGSSContextのオブジェクトで呼び出されます。
integrity and data origin authentication, or
整合性とデータ発信元認証、または
confidentiality, integrity and data origin authentication
機密性、完全性およびデータ発信元認証
to application data, which are treated by GSS-API as arbitrary octet-strings. An application transmitting a message that it wishes to protect will call the appropriate GSSContext method (getMIC or wrap) to apply protection, and send the resulting token to the receiving application. The receiver will pass the received token (and, in the case of data protected by getMIC, the accompanying message-data) to the corresponding decoding method of the GSSContext interface (verifyMIC or unwrap) to remove the protection and validate the data.
任意のオクテットストリングとしてGSS-APIによって処理されるアプリケーションデータへ。それが保護したいメッセージを送信するアプリケーションは、保護を適用するために適切なGSSContextの方法(のgetMICまたはラップ)を呼び出し、受信アプリケーションに得られたトークンを送信します。受信機は、保護を解除し、データを検証するGSSContextのインタフェース(たverifyMIC又はアンラップ)の対応する復号化方法(のgetMIC、添付メッセージデータによって保護されたデータの場合など)、受信したトークンを通過します。
4) At the completion of a communications session (which may extend across several transport connections), each application uses a GSSContext method to invalidate the security context and release any system or cryptographic resources held. Multiple contexts may also be used (either successively or simultaneously) within a single communications association, at the discretion of the applications.
4)いくつかのトランスポート接続を横切って延びることができる通信セッション()が完了した時点で、各アプリケーションは、セキュリティコンテキストを無効にして保持する任意のシステムまたは暗号化リソースを解放するGSSContextのメソッドを使用しています。複数のコンテキストは、アプリケーションの裁量で、単一の通信アソシエーション内(いずれかの連続的または同時に)使用することができます。
This section discusses the optional services that a context initiator may request of the GSS-API before the context establishment. Each of these services is requested by calling the appropriate mutator method in the GSSContext object before the first call to init is performed. Only the context initiator can request context flags.
このセクションでは、コンテキストの起動は、コンテキスト確立する前に、GSS-APIを要求することができるオプションサービスについて説明します。これらの各サービスは、初期化の最初の呼び出しが実行される前に、GSSContextのオブジェクト内の適切なミューテータメソッドを呼び出すことによって要求されました。唯一のコンテキストイニシエータは、コンテキストフラグを要求することができます。
The optional services defined are:
定義されたオプションサービスは以下のとおりです。
Delegation: The (usually temporary) transfer of rights from initiator to acceptor, enabling the acceptor to authenticate itself as an agent of the initiator.
委任:アクセプターへのイニシエータからの権利の(通常は一時的な)転送、アクセプターを有効にするには、開始剤のエージェントとして自分自身を認証します。
Mutual Authentication: In addition to the initiator authenticating its identity to the context acceptor, the context acceptor should also authenticate itself to the initiator.
相互認証:コンテキスト受け入れ側にその身元を認証開始剤に加えて、コンテキストアクセプタもイニシエータに自身を認証する必要があります。
Replay Detection: In addition to providing message integrity services, GSSContext per-message operations of getMIC and wrap should include message numbering information to enable verifyMIC and unwrap to detect if a message has been duplicated.
リプレイ検出:メッセージの整合性サービスを提供するだけでなく、のgetMICとラップのGSSContextのメッセージごとの操作がたverifyMICを有効にすると、メッセージが複製されたかどうかを検出するためにアンラップするメッセージ番号の情報を含める必要があります。
Out-of-Sequence Detection: In addition to providing message integrity services, GSSContext per-message operations (getMIC and wrap) should include message sequencing information to enable verifyMIC and unwrap to detect if a message has been received out of sequence.
アウトオブ配列検出:メッセージの整合性サービスを提供するだけでなく、GSSContextのメッセージごとの操作(のgetMICとラップが)たverifyMICを有効にすると、メッセージが順序で受信されたかどうかを検出するためにアンラップするメッセージシーケンス情報を含める必要があります。
Anonymous Authentication: The establishment of the security context should not reveal the initiator's identity to the context acceptor.
匿名認証:セキュリティコンテキストの確立がコンテキスト受け入れ側にイニシエータの身元を明らかにしてはいけません。
Some mechanisms may not support all optional services, and some mechanisms may only support some services in conjunction with others. The GSSContext interface offers query methods to allow the verification by the calling application of which services will be available from the context when the establishment phase is complete. In general, if the security mechanism is capable of providing a requested service, it should do so even if additional services must be enabled in order to provide the requested service. If the mechanism is incapable of providing a requested service, it should proceed without the service leaving the application to abort the context establishment process if it considers the requested service to be mandatory.
いくつかのメカニズムは、すべてのオプションのサービスをサポートしていない可能性、およびいくつかのメカニズムが唯一他の人と一緒にいくつかのサービスをサポートすることができます。 GSSContextのインターフェイスは、サービスが確立フェーズが完了し、コンテキストから利用できるようになるの呼び出し元のアプリケーションによって検証を可能にするために、クエリメソッドを提供しています。セキュリティ・メカニズムは、要求されたサービスを提供することが可能である場合には、追加のサービスが要求されたサービスを提供するために有効にする必要がある場合でも、一般的に、それはそうする必要があります。メカニズムは、要求されたサービスを提供することができない場合、それは必須であることを要求されたサービスを考慮した場合、コンテキスト確立プロセスを中止するようにアプリケーションを離れることなく、サービス進めるべき。
Some mechanisms may specify that support for some services is optional, and that implementors of the mechanism need not provide it. This is most commonly true of the confidentiality service, often because of legal restrictions on the use of data-encryption, but may apply to any of the services. Such mechanisms are required to send at least one token from acceptor to initiator during context establishment when the initiator indicates a desire to use such a service, so that the initiating GSS-API can correctly indicate whether the service is supported by the acceptor's GSS-API.
いくつかのメカニズムは、いくつかのサービスのサポートは任意であり、機構の実装者はそれを提供する必要はないということを指定してもよいです。これは、しばしば、データの暗号化の使用に関する法的規制のため、機密性サービスの最も一般的に真であるが、サービスのいずれにも適用することができます。このようなメカニズムは、開始GSS-APIは、サービスがアクセプターのGSS-APIによってサポートされているかどうかを正確に示すことができるように、イニシエータが、そのようなサービスを利用したいと示している場合、コンテキスト確立時イニシエータするアクセプターから少なくとも1つのトークンを送信するために必要とされています。
The GSS-API allows delegation to be controlled by the initiating application via the requestCredDeleg method before the first call to init has been issued. Some mechanisms do not support delegation, and for such mechanisms, attempts by an application to enable delegation are ignored.
GSS-APIは、initへの最初の呼び出しが発行された前代表団がrequestCredDeleg方法を経由して開始するアプリケーションによって制御することができます。いくつかのメカニズムは、委任をサポートしていませんし、そのような機構のため、委任を有効にするアプリケーションによって試みは無視されます。
The acceptor of a security context, for which the initiator enabled delegation, can check if delegation was enabled by using the getCredDelegState method of the GSSContext interface. In cases when it is enabled, the delegated credential object can be obtained by calling the getDelegCred method. The obtained GSSCredential object may then be used to initiate subsequent GSS-API security contexts as an agent or delegate of the initiator. If the original initiator's identity is "A" and the delegate's identity is "B", then, depending on the underlying mechanism, the identity embodied by the delegated credential may be either "A" or "B acting for A".
代表団は、GSSContextのインターフェイスのgetCredDelegStateメソッドを使用して、有効になっている場合、イニシエータは、委任を有効にいるセキュリティコンテキストのアクセプターは、確認することができます。それが有効になっている場合には、委任資格情報オブジェクトは、getDelegCredメソッドを呼び出すことによって取得することができます。得られたGSSCredentialのオブジェクトは、開始剤または委譲として後続のGSS-APIのセキュリティコンテキストを開始するために使用されてもよいです。元のイニシエータのIDが「A」であり、代理人のIDが「B」である場合、次に、基礎となるメカニズムに依存して、委任証明書によって具体アイデンティティは「A」または「Aのために作用するB」のいずれであってもよいです。
For many mechanisms that support delegation, a simple boolean does not provide enough control. Examples of additional aspects of delegation control that a mechanism might provide to an application are duration of delegation, network addresses from which delegation is valid, and constraints on the tasks that may be performed by a delegate. Such controls are presently outside the scope of the GSS-API. GSS-API implementations supporting mechanisms offering additional controls should provide extension routines that allow these controls to be exercised (perhaps by modifying the initiator's GSS-API credential object prior to its use in establishing a context). However, the simple delegation control provided by GSS-API should always be able to override other mechanism-specific delegation controls. If the application instructs the GSSContext object that delegation is not desired, then the implementation must not permit delegation to occur. This is an exception to the general rule that a mechanism may enable services even if they are not requested -- delegation may only be provided at the explicit request of the application.
委任をサポートする多くのメカニズムについて、簡単なブールは十分なコントロールを提供していません。メカニズムは、アプリケーションに提供するかもしれない委任コントロールの追加の態様の例としては、デリゲートによって行うことができるタスクの委任の期間、代表団が有効であるから、ネットワークアドレス、および制約です。このような制御は、GSS-APIの範囲外で、現在です。 (おそらくコンテキストを確立する際に、その使用に先立って、イニシエータのGSS-API資格情報オブジェクトを変更することによって)これらの制御を行使することを可能にする拡張ルーチンを提供しなければならない追加のコントロールを提供するメカニズムをサポートするGSS-APIの実装。ただし、GSS-APIによって提供される単純な委任コントロールは、常に他の機構固有の委任コントロールを無効にすることができるはずです。アプリケーションは、委任が望まれていないことをGSSContextのオブジェクトを指示した場合は、実装が発生する委任を許可してはいけません。代表団は唯一のアプリケーションの明示的な要求に提供することができる - これは、彼らが要求されていない場合でも、メカニズムがサービスを可能にする一般的な規則の例外です。
Usually, a context acceptor will require that a context initiator authenticate itself so that the acceptor may make an access-control decision prior to performing a service for the initiator. In some cases, the initiator may also request that the acceptor authenticate itself. GSS-API allows the initiating application to request this mutual authentication service by calling the requestMutualAuth method of the GSSContext interface with a "true" parameter before making the first call to init. The initiating application is informed as to whether or not the context acceptor has authenticated itself. Note that some mechanisms may not support mutual authentication, and other mechanisms may always perform mutual authentication, whether or not the initiating application requests it. In particular, mutual authentication may be required by some mechanisms in order to support replay or out-of-sequence message detection, and for such mechanisms, a request for either of these services will automatically enable mutual authentication.
通常、コンテキストアクセプターは、アクセプターが前イニシエータのサービスを実行するアクセス制御決定を行うことができるようにコンテキストの起動は、自分自身を認証することを要求します。いくつかのケースでは、イニシエータはまた、アクセプターが自身を認証することを要求することができます。 GSS-APIは、開始アプリケーションが初期化の最初の呼び出しを行う前に「真」パラメータでGSSContextのインターフェイスのrequestMutualAuthメソッドを呼び出すことによって、この相互認証サービスを要求することができます。開始アプリケーションは、コンテキストアクセプターは、それ自体を認証したか否かを知らされます。いくつかのメカニズムが相互認証をサポートしていない可能性がありますし、他のメカニズムは、常に開始、アプリケーションがそれを要求したかどうかにかかわらず、相互認証を行うことができます。具体的には、相互認証は、再生またはアウトオブシーケンスメッセージの検出をサポートするためにいくつかのメカニズムによって必要となる場合があり、そのようなメカニズムのために、これらのサービスのいずれかの要求が自動的に相互認証を可能にするであろう。
The GSS-API may provide detection of mis-ordered messages once a security context has been established. Protection may be applied to messages by either application, by calling either getMIC or wrap methods of the GSSContext interface, and verified by the peer application by calling verifyMIC or unwrap for the peer's GSSContext object.
セキュリティコンテキストが確立された後、GSS-APIは、誤発注のメッセージの検出を提供することができます。保護たverifyMICを呼び出すか、ピアのGSSContextのオブジェクトに対してアンラップでのgetMICまたはGSSContextのインターフェイスのラップ方法のいずれかを呼び出すことにより、いずれかのアプリケーションによってメッセージに適用し、ピアアプリケーションによって検証することができます。
The getMIC method calculates a cryptographic checksum of an application message, and returns that checksum in a token. The application should pass both the token and the message to the peer application, which presents them to the verifyMIC method of the peer's GSSContext object.
getMICメソッドは、アプリケーション・メッセージの暗号チェックサムを計算し、トークンにそのチェックサムを返します。アプリケーションは、ピアのGSSContextのオブジェクトのメソッドたverifyMICに提示するピアアプリケーションにトークンとメッセージの両方を渡す必要があります。
The wrap method calculates a cryptographic checksum of an application message, and places both the checksum and the message inside a single token. The application should pass the token to the peer application, which presents it to the unwrap method of the peer's GSSContext object to extract the message and verify the checksum.
ラップ方法は、アプリケーション・メッセージの暗号チェックサムを計算し、単一のトークン内部のチェックサムとメッセージの両方を配置します。アプリケーションは、メッセージを抽出し、チェックサムを確認するためにピアのGSSContextのオブジェクトのアンラップ方法に提示ピアアプリケーションにトークンを渡す必要があります。
Either pair of routines may be capable of detecting out-of-sequence message delivery or the duplication of messages. Details of such mis-ordered messages are indicated through supplementary query methods of the MessageProp object that is filled in by each of these routines.
ルーチンのいずれかの対は、アウトオブシーケンスメッセージ配信やメッセージの重複を検出することができます。このような誤順序付けメッセージの詳細は、これらのルーチンの各々によって満たされるMessagePropオブジェクトの補足照会方法によって示されています。
A mechanism need not maintain a list of all tokens that have been processed in order to support these status codes. A typical mechanism might retain information about only the most recent "N" tokens processed, allowing it to distinguish duplicates and missing tokens within the most recent "N" messages; the receipt of a token older than the most recent "N" would result in the isOldToken method of the instance of MessageProp to return "true".
メカニズムは、これらのステータスコードをサポートするために処理されたすべてのトークンのリストを維持する必要はありません。典型的なメカニズムは、それが最新の「N」のメッセージ内の重複や不足しているトークンを区別することができ、処理されただけで、最新の「N」のトークンについての情報を保持可能性があります。最新の「N」よりも古いトークンの受信は、「真」を返すためにMessagePropのインスタンスのisOldToken方法につながります。
In certain situations, an application may wish to initiate the authentication process to authenticate a peer, without revealing its own identity. As an example, consider an application providing access to a database containing medical information and offering unrestricted access to the service. A client of such a service might wish to authenticate the service (in order to establish trust in any information retrieved from it), but might not wish the service to be able to obtain the client's identity (perhaps due to privacy concerns about the specific inquiries, or perhaps simply to avoid being placed on mailing-lists).
特定の状況では、アプリケーションは、独自のアイデンティティを明らかにせずに、ピアを認証するための認証プロセスを開始することを望むかもしれません。例として、医療情報を含む、サービスへの無制限のアクセスを提供するデータベースへのアクセスを提供するアプリケーションを考えてみます。そのようなサービスのクライアントが(それから取り出された情報の信頼を確立するために)サービスを認証したいかもしれないが、具体的なお問い合わせについてプライバシーの問題に起因するかもしれない(クライアントの識別情報を取得できるようにするサービスを希望しない場合があります、あるいはおそらく単純)メーリングリストに置かれないようにします。
In normal use of the GSS-API, the initiator's identity is made available to the acceptor as a result of the context establishment process. However, context initiators may request that their identity not be revealed to the context acceptor. Many mechanisms do not support anonymous authentication, and for such mechanisms, the request will not be honored. An authentication token will still be generated, but the application is always informed if a requested service is unavailable, and has the option to abort context establishment if anonymity is valued above the other security services that would require a context to be established.
GSS-APIの通常の使用では、イニシエータのアイデンティティは、コンテキスト確立プロセスの結果として、受け入れ側に利用できるようになります。しかし、コンテキストイニシエータは、彼らのアイデンティティをコンテキスト受け入れ側に知らせないことを要求することができます。多くのメカニズムが匿名認証をサポートしていませんし、そのようなメカニズムのために、要求は受け入れられません。認証トークンがまだ生成されますが、アプリケーションは常に要求されたサービスが利用できない、と匿名性を確立するためにコンテキストを必要とする他のセキュリティ・サービスの上に高く評価されている場合、コンテキストの確立を中止するオプションを持っている場合に通知されます。
In addition to informing the application that a context is established anonymously (via the isAnonymous method of the GSSContext class), the getSrcName method of the acceptor's GSSContext object will, for such contexts, return a reserved internal-form name, defined by the implementation.
コンテキストが(GSSContextのクラスのisAnonymous方法を介して)匿名で確立されているアプリケーションに通知することに加えて、アクセプタのGSSContextのオブジェクトのgetSrcName方法は、そのような状況のために、実装によって定義された予約済み内部フォーム名を返します。
The toString method for a GSSName object representing an anonymous entity will return a printable name. The returned value will be syntactically distinguishable from any valid principal name supported by the implementation. The associated name-type object identifier will be an oid representing the value of NT_ANONYMOUS. This name-type oid will be defined as a public, static Oid object of the GSSName class. The printable form of an anonymous name should be chosen such that it implies anonymity, since this name may appear in, for example, audit logs. For example, the string "<anonymous>" might be a good choice, if no valid printable names supported by the implementation can begin with "<" and end with ">".
匿名のエンティティを表すたGSSNameオブジェクトのtoStringメソッドは、印刷可能な名前を返します。返される値は、実装によってサポートされている任意の有効なプリンシパル名から構文的に区別可能になります。関連した名前型オブジェクト識別子はNT_ANONYMOUSの値を表すOIDであろう。この名前型OIDは、たGSSNameクラスの公開、静的のOidオブジェクトとして定義されます。この名前は、例えば、監査ログに表示されるかもしれないので、匿名の名前の印刷可能な形式は、それが匿名性を暗示するように選択されるべきです。実装でサポートされている有効な印刷可能な名前がで始めることができない場合たとえば、文字列が「<匿名>」、良い選択かもしれません「<」で終わります「>」。
When using the equal method of the GSSName interface, and one of the operands is a GSSName instance representing an anonymous entity, the method must return "false".
たGSSNameインタフェースの同じ方法を使用して、オペランドの一方が匿名のエンティティを表すたGSSNameのインスタンスである場合、この方法は、「偽」を返す必要があります。
If a GSSContext supports the confidentiality service, wrap method may be used to encrypt application messages. Messages are selectively encrypted, under the control of the setPrivacy method of the MessageProp object used in the wrap method.
GSSContextのは、機密性サービスをサポートしている場合は、wrapメソッドは、アプリケーションのメッセージを暗号化するために使用することができます。メッセージは選択ラップ法で使用されるMessagePropオブジェクトのsetPrivacy法の制御下で、暗号化されています。
GSS-APIv2 provides functionality that allows a security context to be transferred between processes on a single machine. These are implemented using the export method of GSSContext and a byte array constructor of the same class. The most common use for such a feature is a client-server design where the server is implemented as a single process that accepts incoming security contexts, which then launches child processes to deal with the data on these contexts. In such a design, the child processes must have access to the security context object created within the parent so that they can use per-message protection services and delete the security context when the communication session ends.
GSS-APIv2は、セキュリティコンテキストが単一のマシン上のプロセス間で転送されることを可能にする機能を提供します。これらは、GSSContextの輸出法と同じクラスのバイト配列のコンストラクタを使用して実装されています。このような特徴のための最も一般的な用途は、サーバは、その後、これらのコンテキスト上のデータを扱うための子プロセスを起動し、着信のセキュリティコンテキストを受け入れ、単一のプロセスとして実装されているクライアント - サーバ設計です。彼らはメッセージごとの保護サービスを使用し、通信セッションが終了したときにセキュリティコンテキストを削除することができるような設計では、子プロセスは、親の中に作成したセキュリティコンテキストオブジェクトへのアクセスを持っている必要があります。
Since the security context data structure is expected to contain sequencing information, it is impractical in general to share a context between processes. Thus, the GSSContext interface provides an export method that the process, which currently owns the context, can call to declare that it has no intention to use the context subsequently, and to create an inter-process token containing information needed by the adopting process to successfully recreate the context. After successful completion of export, the original security context is made inaccessible to the calling process by GSS-API, and any further usage of this object will result in failures. The originating process transfers the inter-process token to the adopting process, which creates a new GSSContext object using the byte array constructor. The properties of the context are equivalent to that of the original context.
セキュリティコンテキストデータ構造をシーケンシング情報を含むことが予想されるので、プロセス間でコンテキストを共有することが一般的に実用的ではありません。このように、GSSContextのインタフェースは、現在のコンテキストを所有しているプロセスは、それがその後のコンテキストを使用する意思がないことを宣言するために呼び出すことができ、及びに採用するプロセスが必要とする情報を含むプロセス間トークンを作成するには、エクスポートする方法を提供します成功したコンテキストを再作成します。輸出が正常に完了した後、元のセキュリティコンテキストは、GSS-APIによって、呼び出し元のプロセスにアクセスできないようにしており、このオブジェクトの任意のさらなる使用法は、障害になります。発信プロセスは、バイト配列のコンストラクタを使用して、新しいGSSContextのオブジェクトを作成採用プロセスにプロセス間トークンを転送します。コンテキストの特性は、元のコンテキストのそれと同等です。
The inter-process token may contain sensitive data from the original security context (including cryptographic keys). Applications using inter-process tokens to transfer security contexts must take appropriate steps to protect these tokens in transit.
プロセス間トークンは、(暗号鍵を含む)を元のセキュリティコンテキストから機密データを含むことができます。セキュリティコンテキストを転送するプロセス間トークンを使用するアプリケーションは、輸送中にこれらのトークンを保護するための適切な措置を講じなければなりません。
Implementations are not required to support the inter-process transfer of security contexts. Calling the isTransferable method of the GSSContext interface will indicate if the context object is transferable.
実装は、セキュリティコンテキストのプロセス間転送をサポートする必要はありません。コンテキストオブジェクトが移転可能であるかどうかを示すだろうGSSContextのインターフェイスのisTransferableメソッドを呼び出します。
Some mechanisms may allow the per-message services to be used before the context establishment process is complete. For example, a mechanism may include sufficient information in its initial context-level tokens for the context acceptor to immediately decode messages protected with wrap or getMIC. For such a mechanism, the initiating application need not wait until subsequent context-level tokens have been sent and received before invoking the per-message protection services.
コンテキスト確立プロセスが完了する前に、いくつかのメカニズムは、メッセージごとのサービスを使用できるようにすることができます。例えば、機構は直ちにラップまたはのgetMICで保護されたメッセージを復号するコンテキスト受け入れのためにその初期コンテキストレベルトークンに十分な情報を含んでもよいです。その後のコンテキスト・レベルのトークンが送信され、メッセージごとの保護サービスを呼び出す前に受信されるまで、このような仕組みのため、開始アプリケーションが待つ必要がありません。
An application can invoke the isProtReady method of the GSSContext class to determine if the per-message services are available in advance of complete context establishment. Applications wishing to use per-message protection services on partially established contexts should query this method before attempting to invoke wrap or getMIC.
アプリケーションは、メッセージごとのサービスが完全コンテキスト確立の前に利用可能であるかどうかを決定するためにGSSContextのクラスのisProtReadyメソッドを呼び出すことができます。部分的に確立されたコンテキストにメッセージごとの保護サービスを使用したいアプリケーションは、ラップやのgetMICを起動する前に、この方法を問い合わせる必要があります。
Java provides the implementors with not just a syntax for the language, but also an operational environment. For example, memory is automatically managed and does not require application intervention. These language features have allowed for a simpler API and have led to the elimination of certain GSS-API functions.
Javaはだけでなく、言語の構文、だけでなく、運用環境で実装を提供します。例えば、メモリは自動的に管理され、アプリケーションの介入を必要としません。これらの言語機能は、シンプルなAPIのために許可されていると、特定のGSS-API関数の解消につながっています。
Moreover, the JCA defines a provider model that allows for implementation-independent access to security services. Using this model, applications can seamlessly switch between different implementations and dynamically add new services. The GSS-API specification leverages these concepts by the usage of providers for the mechanism implementations.
また、JCAは、セキュリティサービスの実装に依存しないアクセスを可能にするプロバイダモデルを定義します。このモデルを使用して、アプリケーションをシームレスに異なる実装を切り替えると、動的に新しいサービスを追加することができます。 GSS-API仕様は、メカニズムの実装のためのプロバイダの使用によって、これらの概念を活用しています。
The classes and interfaces defined in this document reside in the package called "org.ietf.jgss". Applications that wish to make use of this API should import this package name as shown in section 8.
この文書で定義されたクラスとインタフェースは、「org.ietf.jgssの」と呼ばれるパッケージに存在します。セクション8に示すように、このAPIの利用をしたいアプリケーションは、このパッケージ名をインポートする必要があります。
The Java security API's use a provider architecture that allows applications to be implementation independent and security API implementations to be modular and extensible. The java.security.Provider class is an abstract class that a vendor extends. This class maps various properties that represent different security services that are available to the names of the actual vendor classes that implement those services. When requesting a service, an application simply specifies the desired provider and the API delegates the request to service classes available from that provider.
JavaセキュリティAPIの使用アプリケーションは、モジュラーおよび拡張できるように実装独立したセキュリティAPIの実装にすることができますプロバイダアーキテクチャ。 java.security.Providerクラスは、ベンダーが延び抽象クラスです。このクラスは、それらのサービスを実装し、実際のベンダクラスの名前に使用できるさまざまなセキュリティサービスを表すさまざまなプロパティをマップします。サービスを要求すると、アプリケーションは、単にそのプロバイダから利用可能なサービス・クラスへの要求希望プロバイダとAPIのデリゲートを指定します。
Using the Java security provider model insulates applications from implementation details of the services they wish to use. Applications can switch between providers easily and new providers can be added as needed, even at runtime.
Javaセキュリティプロバイダのモデルを使用すると、彼らが使用したいサービスの実装の詳細からアプリケーションを絶縁します。アプリケーションは、簡単にプロバイダを切り替えることができ、新たなプロバイダでも、実行時に、必要に応じて追加することができます。
The GSS-API may use providers to find components for specific underlying security mechanisms. For instance, a particular provider might contain components that will allow the GSS-API to support the Kerberos v5 mechanism [RFC4121] and another might contain components to support the Simple Public-Key GSS-API Mechanism (SPKM) [RFC2025]. By delegating mechanism-specific functionality to the components obtained from providers, the GSS-API can be extended to support an arbitrary list of mechanism.
GSS-APIは、特定の基本的なセキュリティメカニズムのための部品を見つけるために、プロバイダを使用することができます。例えば、特定のプロバイダは、GSS-APIは、Kerberos V5メカニズム[RFC4121]をサポートすることを可能にするコンポーネントが含まれている可能性があり、他はシンプルな公開鍵GSS-APIメカニズム(SPKM)[RFC2025]をサポートするためのコンポーネントが含まれている場合があります。提供者から得られたコンポーネントに機構固有の機能を委任することによって、GSS-API機構の任意のリストをサポートするように拡張することができます。
How the GSS-API locates and queries these providers is beyond the scope of this document and is being deferred to a Service Provider Interface (SPI) specification. The availability of such an SPI specification is not mandatory for the adoption of this API specification nor is it mandatory to use providers in the implementation of a GSS-API framework. However, by using the provider framework together with an SPI specification, one can create an extensible and implementation-independent GSS-API framework.
GSS-APIを検索し、これらのプロバイダに問い合わせをどのように、このドキュメントの範囲を超えていると、サービスプロバイダインタフェース(SPI)仕様に延期されています。このようSPI仕様の可用性は、このAPI仕様の採用には必須ではありませんもGSS-APIフレームワークの実装でプロバイダを使用することが必須です。しかし、SPI仕様と共にプロバイダフレームワークを使用して、一方が拡張可能と実装に依存しないGSS-APIフレームワークを作成することができます。
All numeric values are declared as "int" primitive Java type. The Java specification guarantees that this will be a 32-bit two's complement signed number.
すべての数値は、「INT」プリミティブJava型として宣言されています。 Java仕様は、これは32ビットの2の補数の符号付き数であることを保証します。
Throughout this API, the "boolean" primitive Java type is used wherever a boolean value is required or returned.
ブール値が必要か、返却されている場所、このAPIを通じて、「ブール」Javaのプリミティブ型が使用されています。
Java byte arrays are used to represent opaque data types that are consumed and produced by the GSS-API in the form of tokens. Java arrays contain a length field that enables the users to easily determine their size. The language has automatic garbage collection that alleviates the need by developers to release memory and simplifies buffer ownership issues.
Javaバイトアレイが消費されたトークンの形でGSS-APIによって生成された不透明なデータ型を表すために使用されます。 Javaの配列は、簡単に自分のサイズを決定することができます長さフィールドが含まれています。言語は、メモリを解放するために開発者が必要性を軽減し、バッファの所有権の問題を簡素化し、自動ガベージコレクションを持っています。
The String object will be used to represent all textual data. The Java String object transparently treats all characters as two-byte Unicode characters, which allows support for many locals. All routines returning or accepting textual data will use the String object.
Stringオブジェクトは、すべてのテキストデータを表現するために使用されます。 JavaのStringオブジェクトは、透過的に、多くの地元の人々のためのサポートを可能にする2バイトのUnicode文字としてすべての文字を扱います。テキストデータを返すか、受け入れてすべてのルーチンは、Stringオブジェクトを使用します。
An Oid object will be used to represent Universal Object Identifiers (Oids). Oids are ISO-defined, hierarchically globally interpretable identifiers used within the GSS-API framework to identify security mechanisms and name formats. The Oid object can be created from a string representation of its dot notation (e.g., "1.3.6.1.5.6.2") as well as from its ASN.1 DER encoding. Methods are also provided to test equality and provide the DER representation for the object.
Oidオブジェクトユニバーサルオブジェクト識別子(OID)を表すために使用されます。 OIDは、セキュリティ・メカニズムと名の形式を識別するために、GSS-APIフレームワーク内で使用されるISO-定義され、階層的に世界的に解釈識別子です。 Oidオブジェクトは、ドット表記(例えば、「1.3.6.1.5.6.2」)の文字列表現から、ならびにそのASN.1 DERエンコーディングから作成することができます。方法もまた平等をテストして、オブジェクトのDER表現を提供するために設けられています。
An important feature of the Oid class is that its instances are immutable -- i.e., there are no methods defined that allow one to change the contents of an Oid. This property allows one to treat these objects as "statics" without the need to perform copies.
Oidクラスの重要な特徴は、そのインスタンスは不変であるということです - つまり、1 OIDの内容を変更することができるよう定義された方法はありません。このプロパティは、1つのコピーを実行する必要なしに、「静」のように、これらのオブジェクトを扱うことができます。
Certain routines allow the usage of a default oid. A "null" value can be used in those cases.
特定のルーチンは、デフォルトのOIDの使用を許可します。 「ヌル」値は、そのような場合に使用することができます。
The Java bindings represent object identifier sets as arrays of Oid objects. All Java arrays contain a length field, which allows for easy manipulation and reference.
Javaバインディングは、OIDオブジェクトの配列としてオブジェクト識別子のセットを表します。すべてのJavaの配列は、容易に操作し、参照することができます長さフィールドを含みます。
In order to support the full functionality of RFC 2743 [GSSAPIv2- UPDATE], the Oid class includes a method that checks for existence of an Oid object within a specified array. This is equivalent in functionality to gss_test_oid_set_member. The use of Java arrays and Java's automatic garbage collection has eliminated the need for the following routines: gss_create_empty_oid_set, gss_release_oid_set, and gss_add_oid_set_member. Java GSS-API implementations will not contain them. Java's automatic garbage collection and the immutable property of the Oid object eliminates the memory management issues of the C counterpart.
RFC 2743 [GSSAPIv2-のUPDATE]の全機能をサポートするために、のOidクラスが指定された配列内のOidオブジェクトの存在をチェックする方法を含みます。これはgss_test_oid_set_memberする機能に相当します。 gss_create_empty_oid_set、gss_release_oid_set、およびgss_add_oid_set_member:Java配列およびJavaの自動ガベージコレクションを使用するには、以下のルーチンの必要性を排除しています。 JavaのGSS-APIの実装では、それらは含まれません。 Javaの自動ガベージコレクションおよびOIDオブジェクトの不変のプロパティは、Cの対応のメモリ管理の問題を解消します。
Whenever a default value for an Object Identifier Set is required, a "null" value can be used. Please consult the detailed method description for details.
オブジェクト識別子の設定のデフォルト値が必要とされるたびに、「ヌル」値を使用することができます。詳細については、詳細な方法の説明を参照してください。
GSS-API credentials are represented by the GSSCredential interface. The interface contains several constructs to allow for the creation of most common credential objects for the initiator and the acceptor. Comparisons are performed using the interface's "equals" method. The following general description of GSS-API credentials is included from the C-bindings specification:
GSS-API資格はGSSCredentialのインターフェースで表現されています。インターフェースは、イニシエータとアクセプタのための最も一般的な資格情報オブジェクトの作成を可能にするために、いくつかの構成要素が含まれています。比較は、インターフェイスの「イコール」メソッドを使用して実行されます。 GSS-API認証情報の次の一般的な説明は、C-バインディング仕様から含まれています。
GSS-API credentials can contain mechanism-specific principal authentication data for multiple mechanisms. A GSS-API credential is composed of a set of credential-elements, each of which is applicable to a single mechanism. A credential may contain at most one credential-element for each supported mechanism. A credential-element identifies the data needed by a single mechanism to authenticate a single principal, and conceptually contains two credential-references that describe the actual mechanism-specific authentication data, one to be used by GSS-API for initiating contexts, and one to be used for accepting contexts. For mechanisms that do not distinguish between acceptor and initiator credentials, both references would point to the same underlying mechanism-specific authentication data.
GSS-API資格は複数のメカニズムのためのメカニズム - 特定のプリンシパルの認証データを含むことができます。 GSS-API資格は単一のメカニズムにも適用可能であるこれらの各々は、信任状要素の集合から構成されています。信任状は、サポートされる各機構のために最大1つの資格要素を含んでいてもよいです。信任状要素は、単一のプリンシパルを認証するための単一のメカニズムが必要とするデータを識別し、概念的に実際の機構固有の認証データを記述する2資格、参照が含まれ、コンテキストを開始するためのGSS-APIによって使用される1つ、および1つのコンテキストを受け入れるために使用すること。アクセプターおよびイニシエータの資格情報を区別しないメカニズムのため、両方の参照は、同じ基本メカニズム固有の認証データを指すことになります。
Credentials describe a set of mechanism-specific principals, and give their holder the ability to act as any of those principals. All principal identities asserted by a single GSS-API credential should belong to the same entity, although enforcement of this property is an implementation-specific matter. A single GSSCredential object represents all the credential elements that have been acquired.
資格情報は、機構固有のプリンシパルのセットを記述し、その所有者にこれらの主体のいずれかとして作用する能力を与えます。このプロパティの執行は実装固有の問題ではあるが、単一のGSS-API認証情報によってアサートすべての主要なアイデンティティは、同じエンティティに属している必要があります。単一GSSCredentialのオブジェクトが取得されたすべての資格の要素を表しています。
The creation of an GSSContext object allows the value of "null" to be specified as the GSSCredential input parameter. This will indicate a desire by the application to act as a default principal. While individual GSS-API implementations are free to determine such default behavior as appropriate to the mechanism, the following default behavior by these routines is recommended for portability:
GSSContextのオブジェクトの作成は、「NULL」の値がGSSCredentialの入力パラメータとして指定されることを可能にします。これはデフォルトのプリンシパルとして動作するアプリケーションによって意欲を示します。個々のGSS-APIの実装はメカニズムに適宜なデフォルトの動作を決定するのは自由ですが、これらのルーチンによって、次のデフォルトの動作では、移植性のために推奨されます。
For the initiator side of the context:
コンテキストのイニシエータ側の場合:
1) If there is only a single principal capable of initiating security contexts for the chosen mechanism that the application is authorized to act on behalf of, then that principal shall be used; otherwise,
1)アプリケーションは、その主体が使用されるものを代表して行動することを許可されている選択された機構のためのセキュリティコンテキストを開始することができる単一のプリンシパルが存在する場合。そうでなければ、
2) If the platform maintains a concept of a default network-identity for the chosen mechanism, and if the application is authorized to act on behalf of that identity for the purpose of initiating security contexts, then the principal corresponding to that identity shall be used; otherwise,
2)プラットフォームは、選択されたメカニズムのデフォルトのネットワーク・アイデンティティの概念を維持し、アプリケーションがセキュリティコンテキストを開始するために、そのアイデンティティを代表して行動することが許可されている場合は、そのIDに対応するプリンシパルが使用されなければならない場合には;そうでなければ、
3) If the platform maintains a concept of a default local identity, and provides a means to map local identities into network-identities for the chosen mechanism, and if the application is authorized to act on behalf of the network-identity image of the default local identity for the purpose of initiating security contexts using the chosen mechanism, then the principal corresponding to that identity shall be used; otherwise,
3)プラットフォームは、デフォルトのローカルアイデンティティーの概念を維持し、選ばれたメカニズムのためのネットワーク・アイデンティティにローカルアイデンティティをマッピングするための手段を提供し、アプリケーションは、デフォルトのネットワーク・アイデンティティのイメージを代表して行動することを許可されている場合場合選択されたメカニズムを使用して、セキュリティコンテキストを開始するためにローカルIDは、そのIDに対応するプリンシパルが使用されなければなりません。そうでなければ、
4) A user-configurable default identity should be used.
4)ユーザ設定可能デフォルトのIDを使用する必要があります。
For the acceptor side of the context:
コンテキストの受け入れ側の場合:
1) If there is only a single authorized principal identity capable of accepting security contexts for the chosen mechanism, then that principal shall be used; otherwise,
選択されたメカニズムのためのセキュリティコンテキストを受け入れることができる唯一の認可プリンシパルアイデンティティが存在する場合は1)、そのプリンシパルが使用しなければなりません。そうでなければ、
2) If the mechanism can determine the identity of the target principal by examining the context-establishment token processed during the accept method, and if the accepting application is authorized to act as that principal for the purpose of accepting security contexts using the chosen mechanism, then that principal identity shall be used; otherwise,
2)機構が受け入れる方法中に処理コンテキスト確立トークンを調べることによって、ターゲット・プリンシパルのアイデンティティを決定することができる場合、及び受付アプリケーションは、選択された機構を使用して、セキュリティコンテキストを受け入れるためにその主体として作用することを許可されている場合、その主なアイデンティティを使用しなければなりません。そうでなければ、
3) If the mechanism supports context acceptance by any principal, and if mutual authentication was not requested, any principal that the application is authorized to accept security contexts under using the chosen mechanism may be used; otherwise,
3)場合機構は、任意のプリンシパルによってコンテキスト受け入れをサポートし、相互認証が要求されなかった場合、アプリケーションは、選択された機構を使用して、下にセキュリティコンテキストを受け入れることを許可されていることを任意のプリンシパルを使用してもよいです。そうでなければ、
4) A user-configurable default identity shall be used.
4)ユーザ設定可能デフォルトのIDを使用しなければなりません。
The purpose of the above rules is to allow security contexts to be established by both initiator and acceptor using the default behavior whenever possible. Applications requesting default behavior are likely to be more portable across mechanisms and implementations than ones that instantiate an GSSCredential object representing a specific identity.
上記の規則の目的は、セキュリティコンテキストは、可能な限りデフォルトの動作を使用して、イニシエータとアクセプタの両方によって確立できるようにすることです。デフォルトの動作を要求するアプリケーションは、特定のIDを表すGSSCredentialのオブジェクトをインスタンス化したものよりメカニズムと実装間の移植性である可能性が高いです。
The GSSContext interface is used to represent one end of a GSS-API security context, storing state information appropriate to that end of the peer communication, including cryptographic state information. The instantiation of the context object is done differently by the initiator and the acceptor. After the context has been instantiated, the initiator may choose to set various context options that will determine the characteristics of the desired security context. When all the application-desired characteristics have been set, the initiator will call the initSecContext method, which will produce a token for consumption by the peer's acceptSecContext method. It is the responsibility of the application to deliver the authentication token(s) between the peer applications for processing. Upon completion of the context-establishment phase, context attributes can be retrieved, by both the initiator and acceptor, using the accessor methods. These will reflect the actual attributes of the established context. At this point, the context can be used by the application to apply cryptographic services to its data.
GSSContextのインタフェースは、暗号状態情報を含むピア通信の端部に適切な状態情報を格納し、GSS-APIセキュリティコンテキストの一端を表すために使用されます。コンテキストオブジェクトのインスタンス化は、イニシエータとアクセプタによって異なって行われます。コンテキストがインスタンス化された後、開始剤は、所望のセキュリティコンテキストの特性を決定するさまざまなコンテキストオプションを設定することを選択してもよいです。すべてのアプリケーションの所望の特性が設定されている場合、イニシエータは、ピアのacceptSecContextメソッドによる消費のためのトークンを生成するinitSecContextメソッドを呼び出します。これは、処理のためにピアアプリケーション間の認証トークン(複数可)を送達するためのアプリケーションの責任です。コンテキスト確立フェーズが完了すると、コンテキスト属性は、アクセサメソッドを使用して、イニシエータとアクセプタの両方によって、取得することができます。これらは、確立されたコンテキストの実際の属性が反映されます。この時点では、コンテキストは、そのデータに暗号化サービスを適用するために、アプリケーションで使用することができます。
A token is a caller-opaque type that GSS-API uses to maintain synchronization between each end of the GSS-API security context. The token is a cryptographically protected octet-string, generated by the underlying mechanism at one end of a GSS-API security context for use by the peer mechanism at the other end. Encapsulation (if required) within the application protocol and transfer of the token are the responsibility of the peer applications.
トークンは、GSS-APIはGSS-APIセキュリティコンテキストの各端部との間の同期を維持するために使用する発信者不透明なタイプです。トークンは、もう一方の端にピア機構による使用のためにGSS-APIセキュリティコンテキストの一端に根本的なメカニズムによって発生暗号で保護オクテットストリングです。アプリケーションプロトコルとトークンの転送内のカプセル化は、(必要な場合)ピア・アプリケーションの責任です。
Java GSS-API uses byte arrays to represent authentication tokens. Overloaded methods exist that allow the caller to supply input and output streams that will be used for the reading and writing of the token data.
JavaのGSS-APIは、認証トークンを表すためにバイト配列を使用しています。オーバーロードされたメソッドは、呼び出し側がトークンデータの読み書きに使用される入力および出力ストリームを供給することを可能にするが存在します。
Certain GSS-API routines are intended to transfer data between processes in multi-process programs. These routines use a caller-opaque octet-string, generated by the GSS-API in one process for use by the GSS-API in another process. The calling application is responsible for transferring such tokens between processes. Note that, while GSS-API implementors are encouraged to avoid placing sensitive information within inter-process tokens, or to cryptographically protect them, many implementations will be unable to avoid placing key material or other sensitive data within them. It is the application's responsibility to ensure that inter-process tokens are protected in transit, and transferred only to processes that are trustworthy. An inter-process token is represented using a byte array emitted from the export method of the GSSContext interface. The receiver of the inter-process token would initialize an GSSContext object with this token to create a new context. Once a context has been exported, the GSSContext object is invalidated and is no longer available.
特定のGSS-APIルーチンは、マルチプロセスプログラム内のプロセス間でデータを転送することを意図しています。これらのルーチンは、別のプロセスでGSS-APIで使用するための1つのプロセスでGSS-APIによって生成され、発信者-不透明なオクテット文字列を、使用しています。呼び出し元のアプリケーションはプロセス間で、このようなトークンを転送するための責任があります。 GSS-APIの実装者は、プロセス間トークン内の機密情報を置くことを避けるために、またはそれらを保護、暗号することが奨励されている一方で、なお、多くの実装は、その中にキーマテリアルやその他の機密データを配置しないようにすることができません。プロセス間トークンが輸送中に保護され、唯一の信頼できるプロセスに転送されることを保証するために、アプリケーションの責任です。プロセス間トークンはGSSContextのインターフェースのエクスポート方法から出射されたバイト配列を使用して表されます。プロセス間トークンの受信機は、新しいコンテキストを作成するには、このトークンを使用してGSSContextのオブジェクトを初期化します。コンテキストがエクスポートされた後、GSSContextのオブジェクトは無効にしないと使用できなくなりました。
RFC 2743 [GSSAPIv2-UPDATE] defined the usage of major and minor status values for the signaling of GSS-API errors. The major code, also called GSS status code, is used to signal errors at the GSS-API level, independent of the underlying mechanism(s). The minor status value or Mechanism status code, is a mechanism-defined error value indicating a mechanism-specific error code.
RFC 2743 [GSSAPIv2-UPDATE]はGSS-APIエラーのシグナリングのためのメジャーとマイナーのステータス値の使用方法を定義しました。メジャーコードとも呼ばれるGSSステータスコードは、根底にある機構(単数または複数)の独立したGSS-APIレベルでエラーを通知するために使用されます。マイナー状態値またはメカニズムのステータスコードは、機構固有のエラーコードを示す機構定義のエラー値です。
Java GSS-API uses exceptions implemented by the GSSException class to signal both minor and major error values. Both mechanism-specific errors and GSS-API level errors are signaled through instances of this class. The usage of exceptions replaces the need for major and minor codes to be used within the API calls. The GSSException class also contains methods to obtain textual representations for both the major and minor values, which is equivalent to the functionality of gss_display_status.
JavaのGSS-APIは、マイナーとメジャーエラー値の両方を知らせるためてGSSExceptionクラスによって実装された例外を使用しています。機構固有のエラーとGSS-APIレベルのエラーの両方は、このクラスのインスタンスを介してシグナリングされます。例外の使用は、API呼び出し内で使用するメジャーとマイナーコードの必要性を置き換えます。 GSSExceptionクラスもgss_display_statusの機能と同じでメジャーとマイナーの値が、両方のためのテキスト表現を取得するためのメソッドが含まれています。
GSS status codes indicate errors that are independent of the underlying mechanism(s) used to provide the security service. The errors that can be indicated via a GSS status code are generic API routine errors (errors that are defined in the GSS-API specification). These bindings take advantage of the Java exceptions mechanism, thus, eliminating the need for calling errors.
GSSステータスコードは、セキュリティサービスを提供するために使用される基礎となるメカニズム(S)から独立しているエラーを示します。 GSSステータスコードを介して示すことができるエラーは、汎用APIルーチンエラー(GSS-API仕様で定義されたエラー)です。これらのバインディングは、エラーを呼び出す必要がなくなり、したがって、Javaの例外メカニズムを活用します。
A GSS status code indicates a single fatal generic API error from the routine that has thrown the GSSException. Using exceptions announces that a fatal error has occurred during the execution of the method. The GSS-API operational model also allows for the signaling of supplementary status information from the per-message calls. These need to be handled as return values since using exceptions is not appropriate for informatory or warning-like information. The methods that are capable of producing supplementary information are the two per-message methods GSSContext.verifyMIC() and GSSContext.unwrap(). These methods fill the supplementary status codes in the MessageProp object that was passed in.
GSSステータスコードは、てGSSExceptionをスローしたルーチンから単一の致命的な汎用APIエラーを示します。例外を使用すると、致命的なエラーは、メソッドの実行中に発生したことを発表しました。 GSS-API運用モデルも、メッセージごとの呼び出しからの補助的なステータス情報をシグナリングすることができます。これらは、例外を使用してinformatoryまたは警告のような情報には適していないため、戻り値として処理する必要があります。付帯情報を生成することができる方法はGSSContext.verifyMIC()とGSSContext.unwrap()は、2つのメッセージごとの方法です。これらのメソッドは、渡されたMessagePropオブジェクト内の補足ステータスコードを記入してください。
A GSSException object, along with providing the functionality for setting of the various error codes and translating them into textual representation, also contains the definitions of all the numeric error values. The following table lists the definitions of error codes:
GSSExceptionオブジェクトは、様々なエラーコードの設定とテキスト表現にそれらを変換するための機能を提供するとともに、また、すべての数値エラー値の定義を含みます。次の表は、エラーコードの定義を示しています。
Table: GSS Status Codes
表:GSSステータスコード
Name Value Meaning
名前値意味
BAD_BINDINGS 1 Incorrect channel bindings were supplied.
BAD_BINDINGSは1つの不正なチャネルバインディングを供給しました。
BAD_MECH 2 An unsupported mechanism was requested.
BAD_MECH 2サポートされていないメカニズムが要求されました。
BAD_NAME 3 An invalid name was supplied.
BAD_NAME 3は、無効な名前を供給しました。
BAD_NAMETYPE 4 A supplied name was of an unsupported type.
BAD_NAMETYPE 4指定された名前はサポートされていないタイプのものでした。
BAD_STATUS 5 An invalid status code was supplied.
BAD_STATUS 5無効なステータスコードを供給しました。
BAD_MIC 6 A token had an invalid MIC.
BAD_MIC 6は、トークンが無効MICを持っていました。
CONTEXT_EXPIRED 7 The context has expired.
7 CONTEXT_EXPIREDコンテキストの有効期限が切れています。
CREDENTIALS_EXPIRED 8 The referenced credentials have expired.
CREDENTIALS_EXPIRED 8参照資格証明書の有効期限が切れています。
DEFECTIVE_CREDENTIAL 9 A supplied credential was invalid.
DEFECTIVE_CREDENTIAL 9は、供給される資格が無効でした。
DEFECTIVE_TOKEN 10 A supplied token was invalid.
DEFECTIVE_TOKEN 10 Aは、トークンが無効で供給しました。
FAILURE 11 Miscellaneous failure, unspecified at the GSS-API level.
GSS-APIレベルに指定されていないFAILURE 11その他の障害、。
NO_CONTEXT 12 Invalid context has been supplied.
NO_CONTEXT 12無効なコンテキストが供給されていました。
NO_CRED 13 No credentials were supplied, or the credentials were unavailable or inaccessible.
NO_CRED 13のいいえ資格情報が提供されなかった、または資格情報が使用できないか、アクセスできませんでした。
BAD_QOP 14 The quality-of-protection (QOP) requested could not be provided.
BAD_QOP 14保護品質(QOP)が提供することができませんでした要求されました。
UNAUTHORIZED 15 The operation is forbidden by the local security policy.
不正15の動作は、ローカルセキュリティポリシーによって禁止されています。
UNAVAILABLE 16 The operation or option is unavailable.
UNAVAILABLE 16操作またはオプションは使用できません。
DUPLICATE_ELEMENT 17 The requested credential element already exists.
DUPLICATE_ELEMENT 17要求された資格要素がすでに存在しています。
NAME_NOT_MN 18 The provided name was not a mechanism name.
NAME_NOT_MN 18は、提供された名前はメカニズム名ではありませんでした。
The following four status codes (DUPLICATE_TOKEN, OLD_TOKEN, UNSEQ_TOKEN, and GAP_TOKEN) are contained in a GSSException only if detected during context establishment, in which case it is a fatal error. (During per-message calls, these values are indicated as supplementary information contained in the MessageProp object.) They are:
次の4つのステータスコード(DUPLICATE_TOKEN、OLD_TOKEN、UNSEQ_TOKEN、及びGAP_TOKEN)は、それが致命的なエラーである場合には、コンテキスト確立中に検出された場合にのみてGSSExceptionに含まれています。 (メッセージごとの呼び出しの間に、これらの値はMessagePropオブジェクトに含まれる付帯情報として示されている。)それらは:
DUPLICATE_TOKEN 19 The token was a duplicate of an earlier version.
DUPLICATE_TOKEN 19トークンは、以前のバージョンの重複でした。
OLD_TOKEN 20 The token's validity period has expired.
OLD_TOKEN 20トークンの有効期間が満了しています。
UNSEQ_TOKEN 21 A later token has already been processed.
UNSEQ_TOKEN 21以降のトークンがすでに処理されています。
GAP_TOKEN 22 The expected token was not received.
GAP_TOKEN 22期待されるトークンが受信されませんでした。
The GSS major status code of FAILURE is used to indicate that the underlying mechanism detected an error for which no specific GSS status code is defined. The mechanism-specific status code can provide more details about the error.
FAILUREのGSS主要なステータスコードは、基礎となるメカニズムは、特別GSSステータスコードが定義されていないエラーを検出したことを示すために使用されます。機構固有のステータスコードは、エラーの詳細を提供することができます。
The different major status codes that can be contained in the GSSException object thrown by the methods in this specification are the same as the major status codes returned by the corresponding calls in RFC 2743 [GSSAPIv2-UPDATE].
本明細書中の方法によってスローてGSSExceptionオブジェクトに格納することができる別の主要なステータスコードは、RFC 2743に対応するコール[GSSAPIv2-UPDATE]によって返された主要なステータスコードと同じです。
Mechanism-specific status codes are communicated in two ways, they are part of any GSSException thrown from the mechanism-specific layer to signal a fatal error, or they are part of the MessageProp object that the per-message calls use to signal non-fatal errors.
機構固有のステータスコードは、二つの方法で通信され、それらは致命的なエラーを通知する機構固有層からスロー任意てGSSExceptionの一部である、またはそれらは、メッセージごとの非致命的な合図するために使用することを呼び出すことMessagePropオブジェクトの一部でありますエラー。
A default value of 0 in either the GSSException object or the MessageProp object will be used to represent the absence of any mechanism-specific status code.
GSSExceptionオブジェクトまたはMessagePropオブジェクトのいずれかに0のデフォルト値は、任意の機構固有のステータスコードが存在しないことを表すために使用されるであろう。
Supplementary status codes are confined to the per-message methods of the GSSContext interface. Because of the informative nature of these errors it is not appropriate to use exceptions to signal them. Instead, the per-message operations of the GSSContext interface return these values in a MessageProp object.
補助ステータスコードはGSSContextのインタフェースのメッセージごとの方法に限定されます。これらのエラーの有益な性質のため、彼らを通知するために例外を使用することは適切ではありません。代わりに、GSSContextのインタフェースのメッセージごとの操作がMessagePropオブジェクトでこれらの値を返します。
The MessageProp class defines query methods that return boolean values indicating the following supplementary states:
MessagePropクラスは、次の補助状態を示すブール値を返すクエリメソッドを定義します。
Table: Supplementary Status Methods
表:補足ステータスのメソッド
Method Name Meaning when "true" is returned
返されたとき「真」の意味メソッド名
isDuplicateToken The token was a duplicate of an earlier token.
isDuplicateTokenトークンは以前のトークンの複製です。
isOldToken The token's validity period has expired.
isOldTokenトークンの有効期間が満了しています。
isUnseqToken A later token has already been processed.
isUnseqToken後のトークンがすでに処理されています。
isGapToken An expected per-message token was not received.
isGapToken期待メッセージごとのトークンが受信されませんでした。
A "true" return value for any of the above methods indicates that the token exhibited the specified property. The application must determine the appropriate course of action for these supplementary values. They are not treated as errors by the GSS-API.
上記の方法のいずれかのための「真」の戻り値は、トークンが指定されたプロパティを示したことを示しています。アプリケーションは、これらの補助的な値のための適切な措置を決定する必要があります。これらは、GSS-APIによってエラーとして扱われません。
A name is used to identify a person or entity. GSS-API authenticates the relationship between a name and the entity claiming the name.
名前は、個人または団体を識別するために使用されます。 GSS-APIは、名前や名前を主張するエンティティ間の関係を認証します。
Since different authentication mechanisms may employ different namespaces for identifying their principals, GSS-API's naming support is necessarily complex in multi-mechanism environments (or even in some single-mechanism environments where the underlying mechanism supports multiple namespaces).
異なる認証メカニズムは、その主体を識別するために異なる名前空間を使用することができるので、GSS-APIのネーミングサポート(あるいは基礎となる機構は、複数の名前空間をサポートするいくつかの単一機構環境で)マルチ機構環境で必然的に複雑です。
Two distinct conceptual representations are defined for names:
二つの異なる概念の表現は、名前のために定義されています。
1) A GSS-API form represented by implementations of the GSSName interface: A single GSSName object may contain multiple names from different namespaces, but all names should refer to the same entity. An example of such an internal name would be the name returned from a call to the getName method of the GSSCredential interface, when applied to a credential containing credential elements for multiple authentication mechanisms employing different namespaces. This GSSName object will contain a distinct name for the entity for each authentication mechanism.
たGSSNameインタフェースの実装によって表される1)GSS-APIの形態:単一たGSSNameオブジェクトは異なる名前空間から複数の名前を含んでいてもよいが、すべての名前が同じエンティティを参照するべきです。このような内部名の例は、異なる名前空間を使用する複数の認証メカニズムの資格要素を含む信用証明書に適用されるGSSCredentialのインタフェースのgetNameメソッドの呼び出しから返される名前であろう。このたGSSNameオブジェクトには、各認証機構のためのエンティティのための個別の名前が含まれます。
For GSS-API implementations supporting multiple namespaces, GSSName implementations must contain sufficient information to determine the namespace to which each primitive name belongs.
複数の名前空間をサポートしているGSS-APIの実装では、たGSSNameの実装は、各プリミティブの名前が属する名前空間を決定するのに十分な情報が含まれている必要があります。
2) Mechanism-specific contiguous byte array and string forms: Different GSSName initialization methods are provided to handle both byte array and string formats and to accommodate various calling applications and name types. These formats are capable of containing only a single name (from a single namespace). Contiguous string names are always accompanied by an object identifier specifying the namespace to which the name belongs, and their format is dependent on the authentication mechanism that employs that name. The string name forms are assumed to be printable, and may therefore be used by GSS-API applications for communication with their users. The byte array name formats are assumed to be in non-printable formats (e.g., the byte array returned from the export method of the GSSName interface).
2)機構固有の連続したバイト配列と文字列の形式:別たGSSName初期化方法は、両方のバイト配列と文字列形式を処理するために、呼び出しアプリケーションと名前タイプ各種を収容するために設けられています。これらのフォーマットは、(単一のネームスペースからの)単一の名前を含むことが可能です。連続した文字列名は必ず名前が属する名前空間を指定するオブジェクト識別子を伴う、およびそのフォーマットは、その名前を使用した認証メカニズムに依存しています。ストリング名フォームは、印刷可能であると仮定され、したがって、それらのユーザとの通信のためにGSS-APIアプリケーションによって使用されてもよいです。バイト配列名の形式は、非印刷可能なフォーマット(例えば、バイト配列たGSSNameインタフェースのExportメソッドから返された)であると仮定されます。
A GSSName object can be converted to a contiguous representation by using the toString method. This will guarantee that the name will be converted to a printable format. Different initialization methods in the GSSName interface are defined allowing support for multiple syntaxes for each supported namespace, and allowing users the freedom to choose a preferred name representation. The toString method should use an implementation-chosen printable syntax for each supported name type. To obtain the printable name type, getStringNameType method can be used.
たGSSNameオブジェクトはtoStringメソッドを使用して、連続表現に変換することができます。これは、名前が印刷可能な形式に変換されることを保証します。たGSSNameインタフェースの異なる初期化メソッドはサポートされている各名前空間に対して複数の構文のサポートを可能に定義し、ユーザーに優先名表現を自由に選択できるようにしています。 toStringメソッドはサポートされている各名前タイプの実装に選択された印刷可能な構文を使用しなければなりません。印刷可能な名前のタイプを取得するには、getStringNameType法を用いることができます。
There is no guarantee that calling the toString method on the GSSName interface will produce the same string form as the original imported string name. Furthermore, it is possible that the name was not even constructed from a string representation. The same applies to namespace identifiers, which may not necessarily survive unchanged after a journey through the internal name form. An example of this might be a mechanism that authenticates X.500 names, but provides an algorithmic mapping of Internet DNS names into X.500. That mechanism's implementation of GSSName might, when presented with a DNS name, generate an internal name that contained both the original DNS name and the equivalent X.500 name. Alternatively, it might only store the X.500 name. In the latter case, the toString method of GSSName would most likely generate a printable X.500 name, rather than the original DNS name.
たGSSNameインタフェース上でtoStringメソッドを呼び出すと、元のインポートされた文字列名と同じ文字列形式を生成するという保証はありません。さらに、名前も文字列表現から構築されていない可能性があります。同じことは、必ずしも内部名フォームを旅した後、そのまま耐えられないかもしれません名前空間識別子に適用されます。この例は、X.500名を認証しますが、X.500にインターネットDNS名のアルゴリズムのマッピングを提供するメカニズムであるかもしれません。たGSSNameのそのメカニズムの実装は、DNS名を提示すると、オリジナルのDNS名と同等のX.500名の両方が含まれて内部名を生成することがあります。また、それだけでX.500名を保存することがあります。後者の場合には、たGSSNameのtoStringメソッドは、最も可能性の高い印刷可能なX.500名ではなく、元のDNS名を生成します。
The context acceptor can obtain a GSSName object representing the entity performing the context initiation (through the usage of getSrcName method). Since this name has been authenticated by a single mechanism, it contains only a single name (even if the internal name presented by the context initiator to the GSSContext object had multiple components). Such names are termed internal-mechanism names (or MNs), and the names emitted by GSSContext interface in the getSrcName and getTargName are always of this type. Since some applications may require MNs without wanting to incur the overhead of an authentication operation, creation methods are provided that take not only the name buffer and name type, but also the mechanism oid for which this name should be created. When dealing with an existing GSSName object, the canonicalize method may be invoked to convert a general internal name into an MN.
コンテキスト・アクセプター(getSrcName法の使用を介して)コンテキストの起動を実行するエンティティを表すたGSSNameオブジェクトを取得することができます。この名前は単一のメカニズムによって認証されているので、(GSSContextのオブジェクトにコンテキスト起動によって提示内部名は、複数のコンポーネントを有していたとしても)単一の名前を含んでいます。そのような名前は、内部機構の名前(またはのMN)、及びgetSrcNameとgetTargNameでGSSContextのインタフェースによって放出された名前を呼ばれ、常にこのタイプのです。一部のアプリケーションは、認証操作のオーバーヘッドが発生したいなしのMNが必要な場合がありますので、作成方法は、名前のバッファと名前タイプするだけでなく、この名前を作成する必要のあるメカニズムのOIDないだけを取るが提供されます。既存たGSSNameオブジェクトを扱う場合、カノニカル化法は、MNに一般的な内部名を変換するために呼び出すことができます。
GSSName objects can be compared using their equal method, which returns "true" if the two names being compared refer to the same entity. This is the preferred way to perform name comparisons instead of using the printable names that a given GSS-API implementation may support. Since GSS-API assumes that all primitive names contained within a given internal name refer to the same entity, equal can return "true" if the two names have at least one primitive name in common. If the implementation embodies knowledge of equivalence relationships between names taken from different namespaces, this knowledge may also allow successful comparisons of internal names containing no overlapping primitive elements.
たGSSNameオブジェクトは、比較される2つの名前が同じエンティティを参照する場合は「真」を返し、その同じ方法を用いて比較することができます。これは、代わりに与えられたGSS-APIの実装がサポートすることができ、印刷可能な名前を使用しての名前の比較を実行するための好ましい方法です。 GSS-APIは、与えられた内部名に含まれるすべてのプリミティブの名前が同じエンティティを参照することを前提としていますので2名が少なくとも1つの共通の原始的な名前を持っている場合は、同等のは「true」を返すことができます。実装が異なる名前空間から取られた名前の間の等価関係の知識を体現している場合、この知識はまた、重複プリミティブ要素を含まない内部名の成功の比較を可能にすることができます。
When used in large access control lists, the overhead of creating a GSSName object on each name and invoking the equal method on each name from the Access Control List (ACL) may be prohibitive. As an alternative way of supporting this case, GSS-API defines a special form of the contiguous byte array name, which may be compared directly (byte by byte). Contiguous names suitable for comparison are generated by the export method. Exported names may be re-imported by using the byte array constructor and specifying the NT_EXPORT_NAME as the name type object identifier. The resulting GSSName name will also be a MN.
大きなアクセス制御リストで使用される場合、それぞれの名前でたGSSNameオブジェクトを作成し、アクセス制御リスト(ACL)からそれぞれの名前に等しいメソッドを呼び出すのオーバーヘッドは法外であってもよいです。このような場合をサポートする別の方法として、GSS-APIを直接比較することができる連続したバイト配列の名前、(バイトによるバイト)の特別な形式を定義します。比較のために適した連続した名前は、輸出法によって生成されます。エクスポートされた名前はバイト配列のコンストラクタを使用して、名前型オブジェクト識別子としてNT_EXPORT_NAMEを指定して再インポートすることができます。その結果たGSSName名もMNになります。
The GSSName interface defines public static Oid objects representing the standard name types. Structurally, an exported name object consists of a header containing an OID identifying the mechanism that authenticated the name, and a trailer containing the name itself, where the syntax of the trailer is defined by the individual mechanism specification. Detailed description of the format is specified in the language-independent GSS-API specification [GSSAPIv2-UPDATE].
たGSSNameインタフェースは、標準の名前型を表すのpublic staticのOidオブジェクトを定義します。構造的には、エクスポートされた名前のオブジェクトは、名前を認証メカニズムを識別するOID、およびトレーラの構文は、個々の機構の仕様によって定義されている名前自体を含むトレーラを含むヘッダから成ります。フォーマットの詳細な説明は、言語に依存しないGSS-API仕様[GSSAPIv2-UPDATE]で指定されています。
Note that the results obtained by using the equals method will in general be different from those obtained by invoking canonicalize and export, and then comparing the byte array output. The first series of operation determines whether two (unauthenticated) names identify the same principal; the second whether a particular mechanism would authenticate them as the same principal. These two operations will in general give the same results only for MNs.
equalsメソッドを使用して得られた結果は、一般に、カノニカル化およびエクスポートを呼び出し、その後、バイト配列の出力を比較することによって得られたものとは異なるであろうことに留意されたいです。動作の最初のシリーズは、2つ(認証されていない)の名前が同じ主体を識別するかどうかを判定する。第2の特定のメカニズムは同じ主体としてそれらを認証するかどうか。これらの2つの操作が一般的でのみのMNのために同じ結果が得られます。
It is important to note that the above are guidelines as to how GSSName implementations should behave, and are not intended to be specific requirements of how name objects must be implemented. The mechanism designers are free to decide on the details of their implementations of the GSSName interface as long as the behavior satisfies the above guidelines.
上記のたGSSNameの実装がどのように振る舞うべきかについての指針であり、名前のオブジェクトを実装しなければならないかの具体的な要件であることを意図していないことに注意することが重要です。機構設計者は限り行動が上記のガイドラインを満たすようたGSSNameインタフェースのその実装の詳細を決定するのは自由です。
GSS-API supports the use of user-specified tags to identify a given context to the peer application. These tags are intended to be used to identify the particular communications channel that carries the context. Channel bindings are communicated to the GSS-API using the ChannelBinding object. The application may use byte arrays to specify the application data to be used in the channel binding as well as using instances of the InetAddress. The InetAddress for the initiator and/or acceptor can be used within an instance of a ChannelBinding. ChannelBinding can be set for the GSSContext object using the setChannelBinding method before the first call to init or accept has been performed. Unless the setChannelBinding method has been used to set the ChannelBinding for a GSSContext object, "null" ChannelBinding will be assumed. InetAddress is currently the only address type defined within the Java platform and as such, it is the only one supported within the ChannelBinding class. Applications that use other types of addresses can include them as part of the application-specific data.
GSS-APIは、ピアアプリケーションに指定されたコンテキストを識別するために、ユーザーが指定したタグの使用をサポートしています。これらのタグは、コンテキストを運ぶ特定の通信チャネルを識別するために使用されることが意図されます。チャネルバインディングがでChannelBindingオブジェクトを使用してGSS-APIに伝達されます。アプリケーションは、結合、並びにのInetAddressのインスタンスを使用してチャネルに使用されるアプリケーションデータを指定するバイト配列を使用してもよいです。開始剤および/またはアクセプターのためのInetAddressはでChannelBindingのインスタンス内で使用することができます。 INITか行われた受け入れるように最初の呼び出しの前にsetChannelBinding法を使用してGSSContextのオブジェクトに設定することが可能でChannelBinding。 setChannelBinding方法は、GSSContextのオブジェクトのためでChannelBindingを設定するために使用されていない限り、「ヌル」でChannelBindingが想定されます。 InetAddressのは、現在のJavaプラットフォーム内で定義されている唯一のアドレスタイプであり、そのように、でChannelBindingクラス内でサポートされている唯一のものです。他のタイプのアドレスを使用するアプリケーションは、アプリケーション固有のデータの一部としてそれらを含めることができます。
Conceptually, the GSS-API concatenates the initiator and acceptor address information, and the application-supplied byte array to form an octet-string. The mechanism calculates a Message Integrity Code (MIC) over this octet-string and binds the MIC to the context establishment token emitted by the init method of the GSSContext interface. The same bindings are set by the context acceptor for its GSSContext object and during processing of the accept method, a MIC is calculated in the same way. The calculated MIC is compared with that found in the token, and if the MICs differ, accept will throw a GSSException with the major code set to BAD_BINDINGS, and the context will not be established. Some mechanisms may include the actual channel binding data in the token (rather than just a MIC); applications should therefore not use confidential data as channel-binding components.
概念的に、GSS-APIは、イニシエータとアクセプタのアドレス情報、及びオクテットストリングを形成するためのアプリケーションが提供するバイト配列を連結します。機構は、このオクテットストリング上のメッセージ整合性コード(MIC)を計算し、GSSContextのインターフェイスのinitメソッドによって放出されたコンテキスト確立トークンにMICを結合します。同じバインディングは、GSSContextのオブジェクトのコンテキストアクセプタによって設定され、受け入れ方法の処理中、MICは、同じ方法で計算されます。計算されたMICは、トークンに見られるものと比較され、MICは異なる場合、受け入れるBAD_BINDINGSに設定されたメジャーコードを使用してGSSExceptionをスローし、コンテキストは確立されません。いくつかのメカニズムは、トークン(だけでなくMIC)内のデータを結合実際のチャネルを含むことができます。アプリケーションは、したがって、チャネル結合成分などの機密データを使用しないでください。
Individual mechanisms may impose additional constraints on addresses that may appear in channel bindings. For example, a mechanism may verify that the initiator address field of the channel binding contains the correct network address of the host system. Portable applications should therefore ensure that they either provide correct information for the address fields, or omit the setting of the addressing information.
個々のメカニズムは、チャネルバインディングに表示される場合がありますアドレスに追加の制約を課すことができます。例えば、機構は、結合チャネルの開始アドレスフィールドは、ホストシステムの正しいネットワークアドレスが含まれていることを確認することができます。ポータブルアプリケーションでは、それゆえ、彼らはどちらかのアドレスフィールドに正しい情報を提供する、またはアドレス情報の設定を省略することを確認する必要があります。
The context object provides overloaded methods that use input and output streams as the means to convey authentication and per-message GSS-API tokens. It is important to note that the streams are expected to contain the usual GSS-API tokens, which would otherwise be handled through the usage of byte arrays. The tokens are expected to have a definite start and an end. The callers are responsible for ensuring that the supplied streams will not block, or expect to block until a full token is processed by the GSS-API method. Only a single GSS-API token will be processed per invocation of the stream-based method.
コンテキストオブジェクトは、認証とメッセージごとのGSS-APIトークンを伝達するための手段として、入力および出力ストリームを使用するオーバーロードする方法を提供します。ストリームがそうでない場合は、バイト配列の使用によって処理される通常のGSS-APIトークンを、含むことが期待されていることに注意することが重要です。トークンは、明確な開始と終了を有することが期待されます。発信者は、供給ストリームがブロックする、または完全なトークンがGSS-API法によって処理されるまでブロックするように期待しないことを確実にする責任があります。唯一のGSS-APIトークンは、ストリームベースのメソッドの呼び出しごとに処理されます。
The usage of streams allows the callers to have control and management of the supplied buffers. Because streams are non-primitive objects, the callers can make the streams as complicated or as simple as desired simply by using the streams defined in the java.io package or creating their own through the use of inheritance. This will allow for the application's greatest flexibility.
ストリームの使用は、発信者が供給されるバッファの制御および管理を持つことができます。ストリームは非プリミティブオブジェクトであるので、発信者は単にjava.ioパッケージで定義されたストリームを使用したり、継承を使用して独自に作成することにより、必要に応じてストリームはのような複雑かのようにシンプルにすることができます。これは、アプリケーションの最大の柔軟性を可能にします。
Whenever the application wishes to omit an optional parameter the "null" value shall be used. The detailed method descriptions indicate which parameters are optional. Method overloading has also been used as a technique to indicate default parameters.
たびアプリケーションは「ヌル」値を使用しなければならない、オプションのパラメータを省略したいです。詳細な方法の説明は、パラメータがオプションであるかを示します。メソッドのオーバーロードは、デフォルトのパラメータを示すための技術として使用されてきました。
This section presents a brief description of the classes and interfaces that constitute the GSS-API. The implementations of these are obtained from the CLASSPATH defined by the application. If Java GSS becomes part of the standard Java APIs, then these classes will be available by default on all systems as part of the JRE's system classes.
このセクションでは、GSS-APIを構成するクラスおよびインタフェースの簡単な説明を提示しています。これらの実装は、アプリケーションによって定義されたCLASSPATHから得られます。 JavaのGSSは、標準のJava APIの一部となっている場合、これらのクラスは、JREのシステムクラスの一部として、すべてのシステムではデフォルトで使用可能になります。
This section also shows the corresponding RFC 2743 [GSSAPIv2-UPDATE] functionality implemented by each of the classes. Detailed description of these classes and their methods is presented in section 7.
このセクションでは、各クラスによって実装対応RFC 2743 [GSSAPIv2-UPDATE]機能を示しています。これらのクラスとそのメソッドの詳細な説明はセクション7に提示されています。
This abstract class serves as a factory to instantiate implementations of the GSS-API interfaces and also provides methods to make queries about underlying security mechanisms.
この抽象クラスは、GSS-APIインタフェースの実装をインスタンス化するための工場として機能し、また、基礎となるセキュリティ機構についてクエリを行うための方法を提供します。
A default implementation can be obtained using the static method getInstance(). Applications that desire to provide their own implementation of the GSSManager class can simply extend the abstract class themselves.
デフォルトの実装では、静的メソッドのgetInstance()を使用して得ることができます。 GSSManagerクラスの独自の実装を提供することを望むアプリケーションは、単に抽象クラス自体を拡張することができます。
This class contains equivalents of the following RFC 2743 [GSSAPIv2- UPDATE] routines:
このクラスには、次のRFC 2743 [GSSAPIv2- UPDATE]ルーチンの同等物が含まれています。
RFC 2743 Routine Function Section(s)
RFC 2743ルーチンの機能部(S)
gss_import_name Create an internal name from 7.1.6- the supplied information. 7.1.9
gss_import_name 7.1.6-提供された情報から、内部名を作成します。 7.1.9
gss_acquire_cred Acquire credential 7.1.10- for use. 7.1.12
使用する7.1.10-資格取得は、gss_acquire_cred。 7.1.12
gss_import_sec_context Create a previously exported 7.1.15 context.
gss_import_sec_context以前にエクスポート7.1.15コンテキストを作成します。
gss_indicate_mechs List the mechanisms 7.1.3 supported by this GSS-API implementation.
gss_indicate_mechsこのGSS-API実装でサポートされているメカニズム7.1.3を一覧表示します。
gss_inquire_mechs_for_name List the mechanisms 7.1.5 supporting the specified name type.
gss_inquire_mechs_for_name一覧メカニズム7.1.5指定した名前のタイプをサポートしています。
gss_inquire_names_for_mech List the name types 7.1.4 supported by the specified mechanism.
指定されたメカニズムでサポートされている名前の種類7.1.4をリストgss_inquire_names_for_mech。
GSS-API names are represented in the Java bindings through the GSSName interface. Different name formats and their definitions are identified with Universal Object Identifiers (oids). The format of the names can be derived based on the unique oid of each name type. The following GSS-API routines are provided by the GSSName interface:
GSS-API名がたGSSNameインタフェースを介してJavaバインディングで表現されています。別の名前の形式とその定義は、ユニバーサル・オブジェクト識別子(OID)で識別されています。名前の形式は、それぞれの名前タイプのユニークなOIDに基づいて導出することができます。以下のGSS-APIルーチンがたGSSNameインタフェースによって提供されています。
RFC 2743 Routine Function Section(s)
RFC 2743ルーチンの機能部(S)
gss_display_name Covert internal name 7.2.7 representation to text format.
gss_display_name隠密内部名テキスト形式に7.2.7表現。
gss_compare_name Compare two internal names. 7.2.3, 7.2.4
二つの内部名を比較gss_compare_name。 7.2.3、7.2.4
gss_release_name Release resources associated N/A with the internal name.
内部名を持つN / A関連するgss_release_nameリリースリソース。
gss_canonicalize_name Convert an internal name to a 7.2.5 mechanism name.
7.2.5メカニズム名に内部名を変換しgss_canonicalize_name。
gss_export_name Convert a mechanism name to 7.2.6 export format.
gss_export_name 7.2.6エクスポート形式にメカニズム名に変換します。
gss_duplicate_name Create a copy of the internal N/A name.
gss_duplicate_name内部N /名前のコピーを作成します。
The gss_release_name call is not provided as Java does its own garbage collection. The gss_duplicate_name call is also redundant; the GSSName interface has no mutator methods that can change the state of the object so it is safe for sharing across threads.
Javaは、独自のガベージコレクションを行うようgss_release_nameコールが用意されていません。 gss_duplicate_nameコールも冗長です。たGSSNameインタフェースは、スレッド間で共有するために安全であるように、オブジェクトの状態を変更することができます何のmutatorメソッドを持っていません。
The GSSCredential interface is responsible for the encapsulation of GSS-API credentials. Credentials identify a single entity and provide the necessary cryptographic information to enable the creation of a context on behalf of that entity. A single credential may contain multiple mechanism-specific credentials, each referred to as a credential element. The GSSCredential interface provides the functionality of the following GSS-API routines:
GSSCredentialのインタフェースは、GSS-API資格をカプセル化する責任があります。資格情報は、単一のエンティティを識別し、そのエンティティに代わってコンテキストの作成を可能にするために必要な暗号化情報を提供しています。単一の信任状は、それぞれ資格要素と呼ばれる、複数の機構固有の資格情報を含んでいてもよいです。 GSSCredentialのインターフェイスは、次のGSS-APIルーチンの機能を提供します。
RFC 2743 Routine Function Section(s)
RFC 2743ルーチンの機能部(S)
gss_add_cred Constructs credentials 7.3.12 incrementally.
gss_add_credは、資格情報7.3.12インクリメンタルを構築します。
gss_inquire_cred Obtain information about 7.3.4- credential. 7.3.11
7.3.4-資格についての情報を入手しgss_inquire_cred。 7.3.11
gss_inquire_cred_by_mech Obtain per-mechanism 7.3.5- information about 7.3.10 a credential.
gss_inquire_cred_by_mech 7.3.10資格に関するごとのメカニズム7.3.5-情報を取得します。
gss_release_cred Dispose of credentials 7.3.3 after use.
資格情報のgss_release_cred処分は、使用後に7.3.3。
This interface encapsulates the functionality of context-level calls required for security context establishment and management between peers as well as the per-message services offered to applications. A context is established between a pair of peers and allows the usage of security services on a per-message basis on application data. It is created over a single security mechanism. The GSSContext interface provides the functionality of the following GSS-API routines:
このインタフェースは、ピア間のセキュリティコンテキストの確立と管理のために必要なコンテキスト・レベルの呼び出しだけでなく、アプリケーションに提供されるメッセージごとのサービスの機能をカプセル化します。コンテキストは、ピアのペア間で確立し、アプリケーションデータに対してメッセージごとのセキュリティサービスの使用を可能にします。これは、単一のセキュリティメカニズムの上に作成されます。 GSSContextのインターフェイスは、次のGSS-APIルーチンの機能を提供します。
RFC 2743 Routine Function Section(s)
RFC 2743ルーチンの機能部(S)
gss_init_sec_context Initiate the creation of a 7.4.3- security context with a peer. 7.4.6
gss_init_sec_contextは、ピアと7.4.3-セキュリティコンテキストの作成を開始します。 7.4.6
gss_accept_sec_context Accept a security context 7.4.7- initiated by a peer. 7.4.10
場合gss_accept_sec_contextセキュリティコンテキストを受け入れる7.4.7-ピアによって開始。 7.4.10
gss_delete_sec_context Destroy a security context. 7.4.12
セキュリティコンテキストを破棄gss_delete_sec_context。 7.4.12
gss_context_time Obtain remaining context 7.4.41 time.
gss_context_timeコンテキストに7.4.41残り時間を取得します。
gss_inquire_context Obtain context 7.4.32- characteristics. 7.4.46
gss_inquire_contextコンテキストに7.4.32-特性を得ます。 7.4.46
gss_wrap_size_limit Determine token-size limit 7.4.13 for gss_wrap.
gss_wrapのトークン・サイズ制限7.4.13を決定は、gss_wrap_size_limit。
gss_export_sec_context Transfer security context 7.4.22 to another process.
別のプロセスにセキュリティコンテキスト7.4.22を転送gss_export_sec_context。
gss_get_mic Calculate a cryptographic 7.4.18, Message Integrity Code (MIC) 7.4.19 for a message.
gss_get_micメッセージの暗号7.4.18、メッセージ完全性コード(MIC)7.4.19を計算します。
gss_verify_mic Verify integrity on a received 7.4.20, message. 7.4.21
gss_verify_mic受信7.4.20、メッセージに整合性を確認してください。 7.4.21
gss_wrap Attach a MIC to a message and 7.4.14, optionally encrypt the message 7.4.15 content.
メッセージにMICを取り付け、7.4.14、必要に応じてメッセージ7.4.15コンテンツを暗号化はgss_wrap。
gss_unwrap Obtain a previously wrapped 7.4.16, application message verifying 7.4.17 its integrity and optionally decrypting it.
7.4.17その整合性を検証する前に包まれた7.4.16、アプリケーションメッセージを取得し、必要に応じてそれを解読はgss_unwrap。
The functionality offered by the gss_process_context_token routine has not been included in the Java bindings specification. The corresponding functionality of gss_delete_sec_context has also been modified to not return any peer tokens. This has been proposed in accordance to the recommendations stated in RFC 2743 [GSSAPIv2- UPDATE]. GSSContext does offer the functionality of destroying the locally stored context information.
gss_process_context_tokenルーチンが提供する機能は、Javaバインディング仕様に含まれていません。 gss_delete_sec_contextの対応する機能は、任意のピアトークンを返さないように改変されています。これは、RFC 2743 [GSSAPIv2-のUPDATE]に記載された勧告に基づいて提案されています。 GSSContextのは、ローカルに保存されたコンテキスト情報を破壊する機能を提供しません。
This helper class is used in the per-message operations on the context. An instance of this class is created by the application and then passed into the per-message calls. In some cases, the application conveys information to the GSS-API implementation through this object and in other cases the GSS-API returns information to the application by setting it in this object. See the description of the per-message operations wrap, unwrap, getMIC, and verifyMIC in the GSSContext interfaces for details.
このヘルパークラスは、コンテキストのメッセージごとの操作に使用されています。このクラスのインスタンスは、アプリケーションによって作成され、メッセージごとの呼び出しに渡されます。いくつかのケースでは、アプリケーションは、このオブジェクトを介してGSS-API実装に情報を伝達し、他の場合にはGSS-APIは、このオブジェクトにそれを設定することにより、アプリケーションに情報を返します。詳細GSSContextのインタフェースでメッセージごとの操作の説明が参照ラップ、アンラップ、のgetMIC、そしてたverifyMIC。
Exceptions are used in the Java bindings to signal fatal errors to the calling applications. This replaces the major and minor codes used in the C-bindings specification as a method of signaling failures. The GSSException class handles both minor and major codes, as well as their translation into textual representation. All GSS-API methods are declared as throwing this exception.
例外は、呼び出し元のアプリケーションに致命的なエラーを通知するためのJavaバインディングで使用されています。これは、失敗をシグナリングする方法として、C-バインディング仕様で使用されるメジャーおよびマイナーコードを置き換えます。 GSSExceptionクラスは、テキスト表現にマイナーおよびメジャーコード、並びにそれらの翻訳の両方を処理します。すべてのGSS-APIメソッドは、この例外をスローするように宣言されています。
RFC 2743 Routine Function Section
RFC 2743ルーチン機能セクション
gss_display_status Retrieve textual 7.8.5, 7.8.6, representation of error 7.8.8, 7.8.9 codes.
gss_display_statusは、テキスト7.8.5、7.8.6、7.8.8エラー、7.8.9コードの表現を取得します。
This utility class is used to represent Universal Object Identifiers and their associated operations. GSS-API uses object identifiers to distinguish between security mechanisms and name types. This class, aside from being used whenever an object identifier is needed, implements the following GSS-API functionality:
このユーティリティクラスは、ユニバーサル・オブジェクト識別子とそれに関連する業務を表すために使用されます。 GSS-APIは、セキュリティ・メカニズムと名前のタイプを区別するために、オブジェクト識別子を使用しています。このクラスは、脇オブジェクト識別子が必要とされるたびに使用されてから、次のGSS-APIの機能を実装します。
RFC 2743 Routine Function Section
RFC 2743ルーチン機能セクション
gss_test_oid_set_member Determine if the specified oid 7.7.5 is part of a set of oids.
指定されたOID 7.7.5は、OIDのセットの一部である場合gss_test_oid_set_memberかを判断します。
An instance of this class is used to specify channel binding information to the GSSContext object before the start of a security context establishment. The application may use a byte array to specify application data to be used in the channel binding as well as to use instances of the InetAddress. InetAddress is currently the only address type defined within the Java platform and as such, it is the only one supported within the ChannelBinding class. Applications that use other types of addresses can include them as part of the application data.
このクラスのインスタンスは、セキュリティコンテキストの確立の開始前に、GSSContextのオブジェクトへのチャネルバインディング情報を指定するために使用されます。アプリケーションは、のInetAddressのインスタンスを使用する結合、ならびにチャネルで使用されるアプリケーションデータを指定するバイト配列を使用してもよいです。 InetAddressのは、現在のJavaプラットフォーム内で定義されている唯一のアドレスタイプであり、そのように、でChannelBindingクラス内でサポートされている唯一のものです。他のタイプのアドレスを使用するアプリケーションは、アプリケーションデータの一部としてそれらを含めることができます。
This section lists a detailed description of all the public methods that each of the GSS-API classes and interfaces must provide.
このセクションでは、GSS-APIのクラスおよびインタフェースのそれぞれが提供しなければならないすべてのパブリックメソッドの詳細な説明が一覧表示されます。
The GSSManager class is an abstract class that serves as a factory for three GSS interfaces: GSSName, GSSCredential, and GSSContext. It also provides methods for applications to determine what mechanisms are available from the GSS implementation and what name types these mechanisms support. An instance of the default GSSManager subclass may be obtained through the static method getInstance(), but applications are free to instantiate other subclasses of GSSManager.
たGSSName、GSSCredentialの、およびGSSContextの:のGSSManagerクラスは、三のGSSインターフェイスのための工場として機能する抽象クラスです。また、メカニズムがGSS実装とどのような名前の種類、これらのメカニズムのサポートから利用可能であるかを判断するアプリケーションのための方法を提供します。デフォルトのGSSManagerサブクラスのインスタンスは、静的メソッドのgetInstance()によって得ることができるが、アプリケーションはのGSSManagerの他のサブクラスをインスタンス化して自由です。
All but one method in this class are declared abstract. This means that subclasses have to provide the complete implementation for those methods. The only exception to this is the static method getInstance(), which will have platform-specific code to return an instance of the default subclass.
すべてが、このクラスの一つの方法は、抽象と宣言されています。これは、サブクラスがこれらのメソッドのための完全な実装を提供する必要があることを意味します。これに対する唯一の例外は、デフォルト・サブクラスのインスタンスを返すためにプラットフォーム固有のコードを持って静的メソッドのgetInstance()です。
Platform providers of GSS are required not to add any constructors to this class, private, public, or protected. This will ensure that all subclasses invoke only the default constructor provided to the base class by the compiler.
GSSのプラットフォームプロバイダは、このクラスに任意のコンストラクタを追加していない必要なプライベート、パブリック、または保護されています。これは、すべてのサブクラスは、コンパイラによって基本クラスに提供される唯一のデフォルトコンストラクタを呼び出すことが保証されます。
A subclass extending the GSSManager abstract class may be implemented as a modular provider-based layer that utilizes some well-known service provider specification. The GSSManager API provides the application with methods to set provider preferences on such an implementation. These methods also allow the implementation to throw a well-defined exception in case provider-based configuration is not supported. Applications that expect to be portable should be aware of this and recover cleanly by catching the exception.
GSSManager抽象クラスを拡張するサブクラスは、いくつかのよく知られているサービスプロバイダ仕様を利用するモジュラープロバイダベース層として実装されてもよいです。 GSSManager APIは、そのような実装上のプロバイダ・プリファレンスを設定するための方法でアプリケーションを提供します。また、これらの方法は、サポートされていない実装がケースプロバイダベースの構成では、明確に定義された例外をスローすることができます。ポータブルであることを前提とするアプリケーションはこれを認識し、例外をキャッチすることによってきれいに回復しなければなりません。
It is envisioned that there will be three most common ways in which providers will be used:
プロバイダが使用される最も一般的な3つの方法があることが想定されます。
1) The application does not care about what provider is used (the default case).
1)アプリケーション)は(使われるデフォルトの場合されているものプロバイダ気にしません。
2) The application wants a particular provider to be used preferentially, either for a particular mechanism or all the time, irrespective of the mechanism.
2)アプリケーションに関係なく機構の、特定のプロバイダが特定の機構またはすべての時間のいずれかで、優先的に使用することを望みます。
3) The application wants to use the locally configured providers as far as possible, but if support is missing for one or more mechanisms, then it wants to fall back on its own provider.
3)アプリケーションは、可能な限り、ローカルに構成されたプロバイダを使用したいと考えていますが、サポートは、1つまたは複数のメカニズムのために欠落している場合、それは、独自のプロバイダに頼ることを望んでいます。
The GSSManager class has two methods that enable these modes of usage: addProviderAtFront() and addProviderAtEnd(). These methods have the effect of creating an ordered list of <provider, oid> pairs where each pair indicates a preference of provider for a given oid.
addProviderAtFront()とaddProviderAtEnd():のGSSManagerクラスは、使用のこれらのモードを有効にする2つのメソッドを有しています。これらの方法は、各対が、所与のOIDの提供者の嗜好を示す<プロバイダ、OID>ペアの順序付きリストを作成する効果を有します。
The use of these methods does not require any knowledge of whatever service provider specification the GSSManager subclass follows. It is hoped that these methods will serve the needs of most applications. Additional methods may be added to an extended GSSManager that could be part of a service provider specification that is standardized later.
これらの方法の使用はのGSSManagerサブクラスは以下のものは何でも、サービスプロバイダ仕様のいずれかの知識を必要としません。これらの方法は、ほとんどのアプリケーションのニーズに応えることが期待されます。さらなる方法は、後に標準化されたサービスプロバイダ明細書の一部とすることができる拡張のGSSManagerに添加してもよいです。
GSSManager mgr = GSSManager.getInstance();
GSSManager MGR = GSSManager.getInstance()。
// What mechs are available to us?
//何メカ私たちにありますか?
Oid[] supportedMechs = mgr.getMechs();
OID [] supportedMechsの=のmgr.getMechs()。
// Set a preference for the provider to be used when support // is needed for the mechanisms: // "1.2.840.113554.1.2.2" and "1.3.6.1.5.5.1.1".
//「1.2.840.113554.1.2.2」と「1.3.6.1.5.5.1.1」://はサポート//がメカニズムのために必要とされるときに使用するプロバイダの優先順位を設定します。
Oid krb = new Oid("1.2.840.113554.1.2.2"); Oid spkm1 = new Oid("1.3.6.1.5.5.1.1");
Provider p = (Provider) (new com.foo.security.Provider());
プロバイダーP =(プロバイダ)(新しいcom.foo.security.Provider());
mgr.addProviderAtFront(p, krb); mgr.addProviderAtFront(p, spkm1);
// What name types does this spkm implementation support? Oid[] nameTypes = mgr.getNamesForMech(spkm1);
//どのような名前の種類このSPKM実装をサポートしていますか? OID [] nameTypes = mgr.getNamesForMech(spkm1)。
public static GSSManager getInstance()
パブリック静的のGSSManagerのgetInstance()
Returns the default GSSManager implementation.
デフォルトのGSSManager実装を返します。
public abstract Oid[] getMechs()
パブリック抽象のOid [] getMechs()
Returns an array of Oid objects indicating the mechanisms available to GSS-API callers. A "null" value is returned when no mechanism are available (an example of this would be when mechanism are dynamically configured, and currently no mechanisms are installed).
GSS-APIの呼び出し側が利用できる機構を示すのOidオブジェクトの配列を返します。 「ヌル」値は、メカニズムが利用可能でない場合(機構が動的に構成されており、現在のところ機構がインストールされていない場合、この例であろう)が返されます。
public abstract Oid[] getNamesForMech(Oid mech) throws GSSException
パブリック抽象のOid [] getNamesForMech(OIDメカは)てGSSExceptionをスローします
Returns name type Oid's supported by the specified mechanism.
指定されたメカニズムでサポートされている名前タイプのOIDを返します。
Parameters:
パラメーター:
mech: The Oid object for the mechanism to query.
メカ:照会する機構のOIDオブジェクト。
public abstract Oid[] getMechsForName(Oid nameType)
パブリック抽象のOid [] getMechsForName(OID NAMETYPE)
Returns an array of Oid objects corresponding to the mechanisms that support the specific name type. "null" is returned when no mechanisms are found to support the specified name type.
特定の名前のタイプをサポートする機構に対応するOidオブジェクトの配列を返します。何のメカニズムが指定された名前型をサポートしないことが判明しているとき、「ヌル」が返されます。
Parameters:
パラメーター:
nameType: The Oid object for the name type.
NAMETYPE:名前タイプのOIDオブジェクト。
public abstract GSSName createName(String nameStr, Oid nameType) throws GSSException
パブリック抽象たGSSNameのcreateName(文字列nameStr、OidにNAMETYPEは)てGSSExceptionをスローします
Factory method to convert a contiguous string name from the specified namespace to a GSSName object. In general, the GSSName object created will not be an MN; two examples that are exceptions to this are when the namespace type parameter indicates NT_EXPORT_NAME or when the GSS-API implementation is not multi-mechanism.
たGSSNameオブジェクトに指定された名前空間の連続した文字列名を変換するファクトリメソッドです。一般的には、作成したGSSNameオブジェクトは、MNではありません。名前空間の型パラメータがNT_EXPORT_NAMEを示す場合か、GSS-APIの実装では、マルチメカニズムでない場合、この例外です2つの例を示します。
Parameters:
パラメーター:
nameStr: The string representing a printable form of the name to create.
nameStr:作成する名前のプリント可能形式を表す文字列。
nameType: The Oid specifying the namespace of the printable name is supplied. Note that nameType serves to describe and qualify the interpretation of the input nameStr, it does not necessarily imply a type for the output GSSName implementation. The "null" value can be used to specify that a mechanism-specific default printable syntax should be assumed by each mechanism that examines nameStr.
NAMETYPE:印刷可能な名前の名前空間を指定するOIDが供給されています。 NAMETYPEを記述し、入力nameStrの解釈を限定するのに役立つことに注意してください、それは必ずしも出力たGSSName実装のタイプを意味するものではありません。 「ヌル」値は、機構固有のデフォルトの印刷可能な構文はnameStrを検査する各機構が想定されるべきであることを指定するために使用することができます。
public abstract GSSName createName(byte[] name, Oid nameType) throws GSSException
パブリック抽象たGSSNameのcreateName(バイト[]名、のOid nameType)指定てGSSExceptionをスローします
Factory method to convert a contiguous byte array containing a name from the specified namespace to a GSSName object. In general, the GSSName object created will not be an MN; two examples that are exceptions to this are when the namespace type parameter indicates NT_EXPORT_NAME or when the GSS-API implementation is not multi-mechanism.
たGSSNameオブジェクトに指定された名前空間の名前を含む連続したバイト配列を変換するファクトリメソッドです。一般的には、作成したGSSNameオブジェクトは、MNではありません。名前空間の型パラメータがNT_EXPORT_NAMEを示す場合か、GSS-APIの実装では、マルチメカニズムでない場合、この例外です2つの例を示します。
Parameters:
パラメーター:
name: The byte array containing the name to create.
名前:作成する名前を含むバイト配列。
nameType: The Oid specifying the namespace of the name supplied in the byte array. Note that nameType serves to describe and qualify the interpretation of the input name byte array; it does not necessarily imply a type for the output GSSName implementation. The "null" value can be used to specify that a mechanism-specific default syntax should be assumed by each mechanism that examines the byte array.
NAMETYPE:OIDは、バイト配列内の指定された名前の名前空間を指定します。 NAMETYPEを記述し、入力された名前のバイト配列の解釈を限定するのに役立つことに留意されたいです。それは必ずしも出力されたGSSNameの実装の種類を意味するものではありません。 「ヌル」値は、機構固有のデフォルトの構文はバイト配列を調べ、各機構が想定されるべきであることを指定するために使用することができます。
public abstract GSSName createName(String nameStr, Oid nameType, Oid mech) throws GSSException
パブリック抽象たGSSNameのcreateName(文字列nameStr、OidにNAMETYPE、のOidメカは)てGSSExceptionをスローします
Factory method to convert a contiguous string name from the specified namespace to a GSSName object that is a mechanism name (MN). In other words, this method is a utility that does the equivalent of two steps: the createName described in section 7.1.6, and then also the GSSName.canonicalize() described in section 7.2.5.
メカニズム名(MN)であるたGSSNameオブジェクトに指定された名前空間の連続した文字列名を変換するファクトリメソッドです。セクション7.2.5に記載し、またその後GSSName.canonicalizeをセクション7.1.6に記載のcreateName、及び():他の言葉では、この方法は、2つのステップの等価を行うユーティリティです。
Parameters:
パラメーター:
nameStr: The string representing a printable form of the name to create.
nameStr:作成する名前のプリント可能形式を表す文字列。
nameType: The Oid specifying the namespace of the printable name supplied. Note that nameType serves to describe and qualify the interpretation of the input nameStr; it does not necessarily imply a type for the output GSSName implementation. The "null" value can be used to specify that a mechanism-specific default printable syntax should be assumed when the mechanism examines nameStr.
NAMETYPE:OIDが供給印刷可能な名前の名前空間を指定します。 NAMETYPEを記述し、入力nameStrの解釈を限定するのに役立つことに留意されたいです。それは必ずしも出力されたGSSNameの実装の種類を意味するものではありません。 「ヌル」値は、メカニズムがnameStrを調べるとき機構固有のデフォルトの印刷可能な構文が想定されるべきであることを指定するために使用することができます。
mech: Oid specifying the mechanism for which this name should be created.
メカ:OIDは、この名前を作成する必要のあるメカニズムを指定します。
public abstract GSSName createName(byte[] name, Oid nameType, Oid mech) throws GSSException
パブリック抽象たGSSNameのcreateName(バイト[]名、たOID NAMETYPE、のOidメカは)てGSSExceptionをスローします
Factory method to convert a contiguous byte array containing a name from the specified namespace to a GSSName object that is an MN. In other words, this method is a utility that does the equivalent of two steps: the createName described in section 7.1.7, and then also the GSSName.canonicalize() described in section 7.2.5.
MNであるたGSSNameオブジェクトに指定された名前空間の名前を含む連続したバイト配列を変換するファクトリメソッドです。セクション7.2.5に記載し、またその後GSSName.canonicalizeをセクション7.1.7に記載のcreateName、及び():他の言葉では、この方法は、2つのステップの等価を行うユーティリティです。
Parameters:
パラメーター:
name: The byte array representing the name to create.
名前:作成する名前を表すバイト配列。
nameType: The Oid specifying the namespace of the name supplied in the byte array. Note that nameType serves to describe and qualify the interpretation of the input name byte array, it does not necessarily imply a type for the output GSSName implementation. The "null" value can be used to specify that a mechanism-specific default syntax should be assumed by each mechanism that examines the byte array.
NAMETYPE:OIDは、バイト配列内の指定された名前の名前空間を指定します。 NAMETYPEを記述し、入力された名前のバイト配列の解釈を限定するのに役立つことに注意してください、それは必ずしも出力たGSSName実装のタイプを意味するものではありません。 「ヌル」値は、機構固有のデフォルトの構文はバイト配列を調べ、各機構が想定されるべきであることを指定するために使用することができます。
mech: Oid specifying the mechanism for which this name should be created.
メカ:OIDは、この名前を作成する必要のあるメカニズムを指定します。
public abstract GSSCredential createCredential(int usage) throws GSSException
パブリック抽象GSSCredentialのcreateCredential(int型の使用法は)てGSSExceptionをスローします
Factory method for acquiring default credentials. This will cause the GSS-API to use system-specific defaults for the set of mechanisms, name, and a DEFAULT lifetime.
デフォルトの資格を取得するためのファクトリメソッドです。これは、GSS-APIは、メカニズム、名前のセット、およびDEFAULT寿命のためのシステム固有のデフォルトを使用するようになります。
Parameters:
パラメーター:
usage: The intended usage for this credential object. The value of this parameter must be one of:
使用方法:この資格オブジェクトの使用目的。このパラメータの値は、のいずれかである必要があります
GSSCredential.INITIATE_AND_ACCEPT(0), GSSCredential.INITIATE_ONLY(1), or GSSCredential.ACCEPT_ONLY(2)
public abstract GSSCredential createCredential(GSSName aName, int lifetime, Oid mech, int usage) throws GSSException
パブリック抽象GSSCredentialのcreateCredential(たGSSNameもしaName、int型の寿命、示すOIDメカ、int型の使用法は)てGSSExceptionをスローします
Factory method for acquiring a single mechanism credential.
単一のメカニズムの資格を取得するためのファクトリメソッドです。
Parameters:
パラメーター:
aName: Name of the principal for whom this credential is to be acquired. Use "null" to specify the default principal.
もしaName:この資格を取得する人のためのプリンシパルの名前。デフォルトの主体を指定するには、「ヌル」を使用してください。
lifetime: The number of seconds that credentials should remain valid. Use GSSCredential.INDEFINITE_LIFETIME to request that the credentials have the maximum permitted lifetime. Use GSSCredential.DEFAULT_LIFETIME to request default credential lifetime.
寿命:資格情報が有効でなければならない秒数。資格情報が最大許容寿命を持っていることを要求する場合は、GSSCredential.INDEFINITE_LIFETIMEを使用してください。デフォルトの寿命を要求するには、GSSCredential.DEFAULT_LIFETIMEを使用してください。
mech: The oid of the desired mechanism. Use "(Oid) null" to request the default mechanism(s).
メック:所望の機構のOID。デフォルトのメカニズム(複数可)を要求する「(OID)はnull」を使用してください。
usage: The intended usage for this credential object. The value of this parameter must be one of:
使用方法:この資格オブジェクトの使用目的。このパラメータの値は、のいずれかである必要があります
GSSCredential.INITIATE_AND_ACCEPT(0), GSSCredential.INITIATE_ONLY(1), or GSSCredential.ACCEPT_ONLY(2)
public abstract GSSCredential createCredential(GSSName aName, int lifetime, Oid[] mechs, int usage) throws GSSException
パブリック抽象GSSCredentialのcreateCredentialは(もしaNameたGSSNameは、int型の寿命は、OIDが[]メカ、int型の使用法は)てGSSExceptionをスローします
Factory method for acquiring credentials over a set of mechanisms. Acquires credentials for each of the mechanisms specified in the array called mechs. To determine the list of mechanisms' for which the acquisition of credentials succeeded, the caller should use the GSSCredential.getMechs() method.
機構に対して資格を取得するためのファクトリメソッドです。アレイと呼ばれるメックで指定された機構のそれぞれの資格を取得します。資格情報の取得に成功したためのメカニズムのリストを決定するために、呼び出し側はGSSCredential.getMechs()メソッドを使用する必要があります。
Parameters:
パラメーター:
aName: Name of the principal for whom this credential is to be acquired. Use "null" to specify the default principal.
もしaName:この資格を取得する人のためのプリンシパルの名前。デフォルトの主体を指定するには、「ヌル」を使用してください。
lifetime: The number of seconds that credentials should remain valid. Use GSSCredential.INDEFINITE_LIFETIME to request that the credentials have the maximum permitted lifetime. Use GSSCredential.DEFAULT_LIFETIME to request default credential lifetime.
寿命:資格情報が有効でなければならない秒数。資格情報が最大許容寿命を持っていることを要求する場合は、GSSCredential.INDEFINITE_LIFETIMEを使用してください。デフォルトの寿命を要求するには、GSSCredential.DEFAULT_LIFETIMEを使用してください。
mechs: The array of mechanisms over which the credential is to be acquired. Use "(Oid[]) null" for requesting a system-specific default set of mechanisms.
メック:信任状を取得するその上の機構のアレイ。メカニズムのシステム固有のデフォルトセットを要求する「(OID [])NULL」を使用。
usage: The intended usage for this credential object. The value of this parameter must be one of:
使用方法:この資格オブジェクトの使用目的。このパラメータの値は、のいずれかである必要があります
GSSCredential.INITIATE_AND_ACCEPT(0), GSSCredential.INITIATE_ONLY(1), or GSSCredential.ACCEPT_ONLY(2)
public abstract GSSContext createContext(GSSName peer, Oid mech, GSSCredential myCred, int lifetime) throws GSSException
パブリック抽象GSSContextののcreateContext(たGSSNameピア、示すOIDメカ、GSSCredentialのmyCred、int型の寿命は)てGSSExceptionをスローします
Factory method for creating a context on the initiator's side. Context flags may be modified through the mutator methods prior to calling GSSContext.initSecContext().
イニシエータ側でコンテキストを作成するためのファクトリメソッドです。コンテキストフラグは前GSSContext.initSecContext()を呼び出すとミューテータ方法によって改変することができます。
Parameters:
パラメーター:
peer: Name of the target peer.
ピア:ターゲットピアの名前。
mech: Oid of the desired mechanism. Use "(Oid) null" to request the default mechanism.
メカ:目的の機構のOID。。デフォルトの機構を要求する「(OID)はnull」を使用してください。
myCred: Credentials of the initiator. Use "null" to act as a default initiator principal.
myCred:イニシエータの資格情報。デフォルトのイニシエータプリンシパルとして動作するように「ヌル」を使用してください。
lifetime: The request lifetime, in seconds, for the context. Use GSSContext.INDEFINITE_LIFETIME and GSSContext.DEFAULT_LIFETIME to request indefinite or default context lifetime.
寿命:要求寿命、秒で、コンテキストのため。不定またはデフォルトコンテキストの寿命を要求するGSSContext.INDEFINITE_LIFETIMEとGSSContext.DEFAULT_LIFETIMEを使用してください。
public abstract GSSContext createContext(GSSCredential myCred) throws GSSException
パブリック抽象GSSContextののcreateContext(GSSCredentialのmyCredは)てGSSExceptionをスローします
Factory method for creating a context on the acceptor' side. The context's properties will be determined from the input token supplied to the accept method.
アクセプター「側のコンテキストを作成するためのファクトリメソッド。コンテキストのプロパティを受け入れる方法に供給される入力トークンから決定されます。
Parameters:
パラメーター:
myCred: Credentials for the acceptor. Use "null" to act as a default acceptor principal.
myCred:アクセプターのための資格情報。デフォルトのアクセプタプリンシパルとして動作するように「ヌル」を使用してください。
public abstract GSSContext createContext(byte[] interProcessToken) throws GSSException
パブリック抽象GSSContextののcreateContext(バイト[]はinterProcessToken)てGSSExceptionをスローします
Factory method for creating a previously exported context. The context properties will be determined from the input token and can't be modified through the set methods.
以前にエクスポートされたコンテキストを作成するためのファクトリメソッドです。コンテキストプロパティは、入力されたトークンから決定され、設定された方法で変更することはできません。
Parameters:
パラメーター:
interProcessToken: The token previously emitted from the export method.
interProcessToken:以前にexportメソッドから放出されたトークン。
public abstract void addProviderAtFront(Provider p, Oid mech) throws GSSException
パブリック抽象ボイドてaddProviderAtFront(プロバイダーP、のOidメカは)てGSSExceptionをスローします
This method is used to indicate to the GSSManager that the application would like a particular provider to be used ahead of all others when support is desired for the given mechanism. When a value of "null" is used instead of an Oid for the mechanism, the GSSManager must use the indicated provider ahead of all others no matter what the mechanism is. Only when the indicated provider does not support the needed mechanism should the GSSManager move on to a different provider.
この方法は、支持を与え機構のために所望される場合、アプリケーションが先に他のすべての使用される特定のプロバイダにたいとのGSSManagerを示すために使用されます。 「ヌル」の値は、メカニズムのOIDの代わりに使用されている場合、GSSManagerのは、先に他のすべてのメカニズムが何であるかに関係なく、指示プロバイダを使用する必要があります。指定されたプロバイダが必要なメカニズムをサポートしていない場合にのみ、GSSManagerのは、別のプロバイダに移動しなければなりません。
Calling this method repeatedly preserves the older settings but lowers them in preference thus forming an ordered list of provider and Oid pairs that grows at the top.
このメソッドを呼び出すと、繰り返し古い設定を保持しますが、このように上部に成長するプロバイダおよびOIDペアの順序付きリストを構成する優先してそれらを低下させます。
Calling addProviderAtFront with a null Oid will remove all previous preferences that were set for this provider in the GSSManager instance. Calling addProviderAtFront with a non-null Oid will remove any previous preference that was set using this mechanism and this provider together.
ヌルOIDにてaddProviderAtFrontを呼び出すとのGSSManagerインスタンスでこのプロバイダに設定されたすべての以前の環境設定を削除します。非ヌルOIDにてaddProviderAtFrontを呼び出すと、この機構と一緒にこのプロバイダを使用して設定した任意の以前の嗜好を削除します。
If the GSSManager implementation does not support an SPI with a pluggable provider architecture, it should throw a GSSException with the status code GSSException.UNAVAILABLE to indicate that the operation is unavailable.
GSSManager実装がプラグイン可能なプロバイダアーキテクチャとSPIをサポートしていない場合、それは操作が利用できないことを示すステータスコードGSSException.UNAVAILABLEが設定されたGSSExceptionをスローする必要があります。
Parameters:
パラメーター:
p: The provider instance that should be used whenever support is needed for mech.
P:サポートがメカのために必要なときに使用しなければならないプロバイダインスタンス。
mech: The mechanism for which the provider is being set.
メカ:プロバイダが設定されている対象のメカニズム。
Suppose an application desired that the provider A always be checked first when any mechanism is needed, it would call:
アプリケーションは任意のメカニズムが必要とされている場合、プロバイダは、Aは、常に最初にチェックされ、それが呼ぶだろうことが望ましいとします
GSSManager mgr = GSSManager.getInstance(); // mgr may at this point have its own pre-configured list // of provider preferences. The following will prepend to // any such list:
GSSManager MGR = GSSManager.getInstance()。 // MGRは、この時点で、プロバイダの好みの独自の事前構成済みリスト//を有することができます。以下は、どのようなリストを//するために付加します。
mgr.addProviderAtFront(A, null);
mgr.addProviderAtFront(A、NULL);
Now if it also desired that the mechanism of Oid m1 always be obtained from the provider B before the previously set A was checked, it would call:
以前に設定Aがチェックした前の今、それはまたのOIDメカニズムには常に、プロバイダBから取得することがM1のが望ましいならば、それは呼び出します。
mgr.addProviderAtFront(B, m1);
mgr.addProviderAtFront(B、M1)。
The GSSManager would then first check with B if m1 was needed. In case B did not provide support for m1, the GSSManager would continue on to check with A. If any mechanism m2 is needed where m2 is different from m1, then the GSSManager would skip B and check with A directly.
M1が必要になった場合のGSSManagerは、最初にBをチェックします。場合Bは、M1のサポートを提供していませんでした任意の機構M2は、m2がm1とは異なっている場合は、その後のGSSManagerはBをスキップして直接に確認してしまう必要がある場合は、GSSManagerのはA.に確認するに続けるだろう。
Suppose, at a later time, the following call is made to the same GSSManager instance:
後の時点で、次の呼び出しが同じのGSSManagerインスタンスに行われる、と仮定します。
mgr.addProviderAtFront(B, null)
mgr.addProviderAtFront(B、NULL)
then the previous setting with the pair (B, m1) is subsumed by this and should be removed. Effectively, the list of preferences now becomes {(B, null), (A, null), ... //followed by the pre-configured list.
次いで、対(B、M1)と以前の設定はこれに包含され、除去されるべきです。効果的に、好みのリストが今なる{(B、NULL)、(A、NULL)、... //事前設定されたリストが続きます。
Please note, however, that the following call:
しかし、その次の呼び出しに注意してください。
mgr.addProviderAtFront(A, m3)
mgr.addProviderAtFront(A、M3)
does not subsume the previous setting of (A, null), and the list will effectively become {(A, m3), (B, null), (A, null), ...}
(A、NULL)の以前の設定を包摂しない、リストが有効となります{(A、M3)、(B、NULL)、(A、NULL)、...}
public abstract void addProviderAtEnd(Provider p, Oid mech) throws GSSException
パブリック抽象ボイドaddProviderAtEnd(プロバイダーP、のOidメカは)てGSSExceptionをスローします
This method is used to indicate to the GSSManager that the application would like a particular provider to be used if no other provider can be found that supports the given mechanism. When a value of "null" is used instead of an Oid for the mechanism, the GSSManager must use the indicated provider for any mechanism.
この方法は、他のプロバイダが指定された機構をサポートする見つからない場合、アプリケーションは、特定のプロバイダを使用するたいとのGSSManagerを示すために使用されます。 「NULL」の値は、機構のOIDの代わりに使用されるとき、のGSSManagerは、任意の機構のために示されたプロバイダを使用する必要があります。
Calling this method repeatedly preserves the older settings, but raises them above newer ones in preference thus forming an ordered list of providers and Oid pairs that grows at the bottom. Thus, the older provider settings will be utilized first before this one is.
このメソッドを呼び出すと、繰り返し古い設定を保持しますが、これ下部に成長するプロバイダおよびOIDペアの順序付きリストを構成する優先して、新しいものの上にそれらを発生させます。この1つはある前にこのように、古いプロバイダーの設定が最初に利用されます。
If there are any previously existing preferences that conflict with the preference being set here, then the GSSManager should ignore this request.
好みに競合がここで設定されている任意の既存の設定がある場合は、その後のGSSManagerは、この要求を無視する必要があります。
If the GSSManager implementation does not support an SPI with a pluggable provider architecture, it should throw a GSSException with the status code GSSException.UNAVAILABLE to indicate that the operation is unavailable.
GSSManager実装がプラグイン可能なプロバイダアーキテクチャとSPIをサポートしていない場合、それは操作が利用できないことを示すステータスコードGSSException.UNAVAILABLEが設定されたGSSExceptionをスローする必要があります。
Parameters:
パラメーター:
p: The provider instance that should be used whenever support is needed for mech.
P:サポートがメカのために必要なときに使用しなければならないプロバイダインスタンス。
mech: The mechanism for which the provider is being set.
メカ:プロバイダが設定されている対象のメカニズム。
Suppose an application desired that when a mechanism of Oid m1 is needed, the system default providers always be checked first, and only when they do not support m1 should a provider A be checked. It would then make the call:
アプリケーションOIDのM1のメカニズムが必要な場合、システムのデフォルトプロバイダは常に最初にチェックされることが望ましいとして、場合にのみ、彼らはm1は、プロバイダAをチェックする必要がありますサポートしていません。その後、電話をかけるになります。
GSSManager mgr = GSSManager.getInstance();
GSSManager MGR = GSSManager.getInstance()。
mgr.addProviderAtEnd(A, m1);
mgr.addProviderAtEnd(A、M1)。
Now, if it also desired that for all mechanisms the provider B be checked after all configured providers have been checked, it would then call:
それはまた、すべての設定されたプロバイダがチェックされた後、すべてのメカニズムのプロバイダBをチェックすることを望むなら今、それはその後、呼び出します。
mgr.addProviderAtEnd(B, null);
mgr.addProviderAtEnd(B、NULL);
Effectively, the list of preferences now becomes {..., (A, m1), (B, null)}.
効果的に、好みのリストは、現在{...、(A、M1)、(B、NULL)}となります。
Suppose, at a later time, the following call is made to the same GSSManager instance:
後の時点で、次の呼び出しが同じのGSSManagerインスタンスに行われる、と仮定します。
mgr.addProviderAtEnd(B, m2)
mgr.addProviderAtEnd(B、M2)
then the previous setting with the pair (B, null) subsumes this; therefore, this request should be ignored. The same would happen if a request is made for the already existing pairs of (A, m1) or (B, null).
次いで、対(B、NULL)と前回の設定は、これを包含する。そのため、この要求は無視されるべきです。要求が(A、M1)又は(B、NULL)の既存のペアのために作られている場合も同じことが起こります。
Please note, however, that the following call:
しかし、その次の呼び出しに注意してください。
mgr.addProviderAtEnd(A, null)
mgr.addProviderAtEnd(A、NULL)
is not subsumed by the previous setting of (A, m1) and the list will effectively become {..., (A, m1), (B, null), (A, null)}.
以前の設定によって包含されていない(A、M1)とリストが有効になります{...、(A、M1)、(B、NULL)、(A、NULL)}。
This interface encapsulates a single GSS-API principal entity. Different name formats and their definitions are identified with Universal Object Identifiers (Oids). The format of the names can be derived based on the unique oid of its namespace type.
このインタフェースは、単一のGSS-APIの主要なエンティティをカプセル化します。別の名前の形式とその定義は、ユニバーサル・オブジェクト識別子(OID)で識別されています。名前の形式は、その名前空間の種類のユニークなOIDに基づいて導出することができます。
Included below are code examples utilizing the GSSName interface. The code below creates a GSSName, converts it to a mechanism name (MN), performs a comparison, obtains a printable representation of the name, exports it and then re-imports to obtain a new GSSName.
たGSSNameインタフェースを利用したコード例を以下に含まれます。以下のコードは、機構名(MN)に変換したGSSNameを作成し、比較を行い、輸出をした後、再輸入新しいたGSSNameを得るために、名前の印刷可能な表現を取得します。
GSSManager mgr = GSSManager.getInstance();
GSSManager MGR = GSSManager.getInstance()。
// create a host-based service name GSSName name = mgr.createName("service@host", GSSName.NT_HOSTBASED_SERVICE);
//ホストベースのサービス名たGSSName名を作成= mgr.createName(「サービス@ホスト」、GSSName.NT_HOSTBASED_SERVICE)。
Oid krb5 = new Oid("1.2.840.113554.1.2.2");
oidのkrb5の=新しいのoid( "1.2.840.113554.1.2.2")。
GSSName mechName = name.canonicalize(krb5);
Gasasanamem mecaname = namekenonikalijhe(縁石5)。
// the above two steps are equivalent to the following GSSName mechName = mgr.createName("service@host", GSSName.NT_HOSTBASED_SERVICE, krb5);
//上記の2つのステップは以下たGSSName mechName = mgr.createName(「サービス@ホスト」、GSSName.NT_HOSTBASED_SERVICE、krb5の)に相当します。
// perform name comparison if (name.equals(mechName)) print("Names are equals.");
//名前の比較を行う場合(name.equals(mechName))プリント( "名前はイコールです。");
// obtain textual representation of name and its printable // name type print(mechName.toString() + mechName.getStringNameType().toString());
//名前のテキスト表現を取得し、その印刷可能//名前型プリント(mechName.toString()+ mechName.getStringNameType()toString()を。)。
// export and re-import the name byte[] exportName = mechName.export();
//エクスポートおよび再インポート名バイト[] exportName = mechName.export()。
// create a new name object from the exported buffer GSSName newName = mgr.createName(exportName, GSSName.NT_EXPORT_NAME);
//エクスポートバッファたGSSName NEWNAME = mgr.createName(exportName、GSSName.NT_EXPORT_NAME)から新しい名前オブジェクトを作成します。
public static final Oid NT_HOSTBASED_SERVICE
public static finalたOID NT_HOSTBASED_SERVICE
Oid indicating a host-based service name form. It is used to represent services associated with host computers. This name form is constructed using two elements, "service" and "hostname", as follows:
oidのホストベースのサービスの名前型を示します。ホストコンピュータに関連付けられたサービスを表すために使用されます。次のようにこの名前の形式は、二つの要素、「サービス」および「ホスト名」を使用して構築されています。
service@hostname
サービス@ホスト名
Values for the "service" element are registered with the IANA. It represents the following value: { iso(1) member-body(2) Unites States(840) mit(113554) infosys(1) gssapi(2) generic(1) service_name(4) }
「サービス」要素の値は、IANAに登録されています。これは次の値を表す:{ISO(1)部材本体(2)結びつけるアメリカ(840)MIT(113554)インフォシス(1)GSSAPI(2)一般的な(1)SERVICE_NAME(4)}
public static final Oid NT_USER_NAME
public static finalたOID NT_USER_NAME
Name type to indicate a named user on a local system. It represents the following value: { iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) generic(1) user_name(1) }
ローカルシステム上の名前のユーザーを示すために、タイプに名前を付けます。これは次の値を表す:{ISO(1)部材本体(2)米国(840)MIT(113554)インフォシス(1)GSSAPI(2)一般的な(1)USER_NAME(1)}
public static final Oid NT_MACHINE_UID_NAME
public static finalたOID NT_MACHINE_UID_NAME
Name type to indicate a numeric user identifier corresponding to a user on a local system (e.g., Uid). It represents the following value: { iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) generic(1) machine_uid_name(2) }
ローカルシステム(例えば、UID)上のユーザに対応する数値ユーザIDを示す名前型。これは次の値を表す:{ISO(1)部材本体(2)米国(840)MIT(113554)インフォシス(1)GSSAPI(2)一般的な(1)machine_uid_name(2)}
public static final Oid NT_STRING_UID_NAME
public static finalたOID NT_STRING_UID_NAME
Name type to indicate a string of digits representing the numeric user identifier of a user on a local system. It represents the following value: { iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) generic(1) string_uid_name(3) }
ローカルシステム上のユーザの数値ユーザIDを表す、数字の文字列を示すタイプに名前を付けます。これは次の値を表す:{ISO(1)部材本体(2)米国(840)MIT(113554)インフォシス(1)GSSAPI(2)一般的な(1)string_uid_name(3)}
public static final Oid NT_ANONYMOUS
public static finalたOID NT_ANONYMOUS
Name type for representing an anonymous entity. It represents the following value: { iso(1), org(3), dod(6), internet(1), security(5), nametypes(6), gss-anonymous-name(3) }
匿名のエンティティを表す名前型です。 {ISO(1)、ORG(3)、DOD(6)、インターネット(1)、セキュリティ(5)、nametypes(6)、GSS-匿名名(3)}:これは次の値を表します
public static final Oid NT_EXPORT_NAME
public static finalたOID NT_EXPORT_NAME
Name type used to indicate an exported name produced by the export method. It represents the following value: { iso(1), org(3), dod(6), internet(1), security(5), nametypes(6), gss-api-exported-name(4) }
輸出法により製造エクスポートされた名前を示すために使用されるタイプに名前を付けます。これは次の値を表す:{ISO(1)、ORG(3)、DOD(6)、インターネット(1)、セキュリティ(5)、nametypes(6)、GSS-APIエクスポート名(4)}
public boolean equals(GSSName another) throws GSSException
パブリックブールのequals(たGSSName別)はてGSSExceptionをスローします
Compares two GSSName objects to determine whether they refer to the same entity. This method may throw a GSSException when the names cannot be compared. If either of the names represents an anonymous entity, the method will return "false".
彼らは同じエンティティを参照しているかどうかを判断するために2つのたGSSNameオブジェクトを比較します。このメソッドは、名前を比較することはできませんてGSSExceptionをスローすることがあります。どちらかの名前が匿名のエンティティを表している場合、この方法は、「偽」を返します。
Parameters:
パラメーター:
another: GSSName object with which to compare.
別:とたGSSNameオブジェクトを比較します。
public boolean equals(Object another)
パブリックブール等号(別のオブジェクト)
A variation of the equals method, described in section 7.2.3, that is provided to override the Object.equals() method that the implementing class will inherit. The behavior is exactly the same as that in section 7.2.3 except that no GSSException is thrown; instead, "false" will be returned in the situation where an error occurs. (Note that the Java language specification requires that two objects that are equal according to the equals(Object) method must return the same integer result when the hashCode() method is called on them.)
実装クラスが継承するはObject.equals()メソッドをオーバーライドするために提供されるセクション7.2.3に記載のequalsメソッドの変化、。動作は何てGSSExceptionがスローされないことを除いて、セクション7.2.3のものとまったく同じです。代わりに、「偽」のエラーが発生する状況で返されます。 (Java言語仕様では、ハッシュコード()メソッドは、それらの上に呼び出されたときのequals(Object)メソッドに従って等しい2つのオブジェクトが同じ整数の結果を返さなければならないことを要求することに注意してください。)
Parameters:
パラメーター:
another: GSSName object with which to compare.
別:とたGSSNameオブジェクトを比較します。
public GSSName canonicalize(Oid mech) throws GSSException
パブリックたGSSNameのカノニカル(OIDメカは)てGSSExceptionをスローします
Creates a mechanism name (MN) from an arbitrary internal name. This is equivalent to using the factory methods described in sections 7.1.8 or 7.1.9 that take the mechanism name as one of their parameters.
任意の内部名と機構名(MN)を作成します。これは、それらのパラメータの一つとして、メカニズムの名前を取るのセクション7.1.8または7.1.9で説明したファクトリメソッドを使用するのと同じです。
Parameters:
パラメーター:
mech: The oid for the mechanism for which the canonical form of the name is requested.
メカ:正規形式の名前が要求されているメカニズムのOID。
public byte[] export() throws GSSException
公共バイト[]輸出は()てGSSExceptionをスローします
Returns a canonical contiguous byte representation of a mechanism name (MN), suitable for direct, byte-by-byte comparison by authorization functions. If the name is not an MN, implementations may throw a GSSException with the NAME_NOT_MN status code. If an implementation chooses not to throw an exception, it should use some system-specific default mechanism to canonicalize the name and then export it. The format of the header of the output buffer is specified in RFC 2743 [GSSAPIv2-UPDATE].
認証機能による直接、バイト単位の比較に適した機構名(MN)の標準的な連続したバイト表現を返します。名前がMNでない場合、実装はNAME_NOT_MNステータスコードが設定されたGSSExceptionをスローすることがあります。実装は例外をスローしないことを選択した場合、それは名前を正規化し、それをエクスポートするには、いくつかのシステム固有のデフォルトの機構を使用する必要があります。出力バッファのヘッダのフォーマットは、RFC 2743 [GSSAPIv2-UPDATE]で指定されています。
public String toString()
公共の文字列のtoString()
Returns a textual representation of the GSSName object. To retrieve the printed name format, which determines the syntax of the returned string, the getStringNameType method can be used.
GSSNameオブジェクトのテキスト表現を返します。返される文字列の構文を決定し、印刷名の形式を、取得するには、getStringNameType法を用いることができます。
public Oid getStringNameType() throws GSSException
公共のOid getStringNameType()てGSSExceptionをスローします
Returns the oid representing the type of name returned through the toString method. Using this oid, the syntax of the printable name can be determined.
toStringメソッドによって返された名前の型を表すOIDを返します。このOIDを使用して、印刷可能な名前の構文を決定することができます。
public boolean isAnonymous()
パブリックブールisAnonymous()
Tests if this name object represents an anonymous entity. Returns "true" if this is an anonymous name.
テストこの名前オブジェクトが匿名のエンティティを表します。これは匿名の名前である場合は「真」を返します。
public boolean isMN()
パブリックブールISMN()
Tests if this name object contains only one mechanism element and is thus a mechanism name as defined by RFC 2743 [GSSAPIv2-UPDATE].
この名前オブジェクトが一つだけの機構要素が含まれており、RFC 2743 [GSSAPIv2-UPDATE]によって定義されるように、したがって機構名であるかどうかをテスト。
This interface encapsulates the GSS-API credentials for an entity. A credential contains all the necessary cryptographic information to enable the creation of a context on behalf of the entity that it represents. It may contain multiple, distinct, mechanism-specific credential elements, each containing information for a specific security mechanism, but all referring to the same entity.
このインタフェースは、エンティティのGSS-API資格をカプセル化します。資格は、それが表すエンティティを代表して、コンテキストの作成を可能にするために必要なすべての暗号化情報が含まれています。これは、複数の、異なる、機構固有の資格要素を含む特定のセキュリティメカニズムのための各情報を含むが、すべてが同じ実体を参照することができます。
A credential may be used to perform context initiation, acceptance, or both.
信任状は、コンテキストの起動、受諾、またはその両方を実行するために使用されてもよいです。
GSS-API implementations must impose a local access-control policy on callers to prevent unauthorized callers from acquiring credentials to which they are not entitled. GSS-API credential creation is not intended to provide a "login to the network" function, as such a function would involve the creation of new credentials rather than merely acquiring a handle to existing credentials. Such functions, if required, should be defined in implementation-specific extensions to the API.
GSS-APIの実装は、彼らが権利を有するされていないに資格を取得する権限のない発信者を防ぐために、発信者のローカルアクセス制御ポリシーを課す必要があります。 GSS-API資格の作成は、そのような機能は、単に既存の資格情報へのハンドルを取得するのではなく、新しい資格情報の作成を伴うだろうとして、機能「ネットワークへのログイン」を提供するものではありません。このような機能は、必要であれば、APIの実装固有の拡張で定義されるべきです。
If credential acquisition is time-consuming for a mechanism, the mechanism may choose to delay the actual acquisition until the credential is required (e.g., by GSSContext). Such mechanism-specific implementation decisions should be invisible to the calling application; thus, the query methods immediately following the creation of a credential object must return valid credential data, and may therefore incur the overhead of a deferred credential acquisition.
資格取得に時間がかかる機構のためのものである場合には資格が(例えば、GSSContextのにより)必要とされるまで、機構は、実際の取得を遅らせることを選択してもよいです。このような機構固有の実装の決定は、呼び出し元のアプリケーションには見えなければなりません。このように、すぐに資格情報オブジェクトの作成を次のクエリ方法が有効な資格情報データを返す必要があり、そのため延期資格取得のオーバーヘッドが発生する場合があります。
Applications will create a credential object passing the desired parameters. The application can then use the query methods to obtain specific information about the instantiated credential object (equivalent to the gss_inquire routines). When the credential is no longer needed, the application should call the dispose (equivalent to gss_release_cred) method to release any resources held by the credential object and to destroy any cryptographically sensitive information.
アプリケーションは、必要なパラメータを渡して資格情報オブジェクトを作成します。アプリケーションは、インスタンス化資格情報オブジェクト(gss_inquireルーチンに相当)に関する特定の情報を取得するクエリメソッドを使用することができます。資格が不要になった場合、アプリケーションは、資格情報オブジェクトが保持しているすべてのリソースを解放し、任意の暗号化によって機密情報を破壊する(gss_release_credに相当)のDisposeメソッドを呼び出すべきではありません。
Classes implementing this interface also implement the Cloneable interface. This indicates that the class will support the clone() method that will allow the creation of duplicate credentials. This is useful when called just before the add() call to retain a copy of the original credential.
このインタフェースを実装しているクラスも、Cloneableインタフェースを実装します。これは、クラスが重複した資格証明書を作成することができますクローン()メソッドをサポートすることを示しています。元資格のコピーを保持するだけのアドオン()呼び出しの前に呼び出されたときに便利です。
This example code demonstrates the creation of a GSSCredential implementation for a specific entity, querying of its fields, and its release when it is no longer needed.
それが不要になったときに、この例のコードは、特定のエンティティ、そのフィールドの照会、およびそのリリースのGSSCredentialの実装を作成する方法を示していません。
GSSManager mgr = GSSManager.getInstance();
GSSManager MGR = GSSManager.getInstance()。
// start by creating a name object for the entity GSSName name = mgr.createName("userName", GSSName.NT_USER_NAME);
//エンティティたGSSName名= mgr.createName(「userNameに」、GSSName.NT_USER_NAME)の名前のオブジェクトを作成することによって開始します。
// now acquire credentials for the entity GSSCredential cred = mgr.createCredential(name, GSSCredential.ACCEPT_ONLY);
//今エンティティGSSCredentialのCRED = mgr.createCredential(名前、GSSCredential.ACCEPT_ONLY)の資格を取得します。
// display credential information - name, remaining lifetime, // and the mechanisms it has been acquired over print(cred.getName().toString()); print(cred.getRemainingLifetime());
Oid[] mechs = cred.getMechs(); if (mechs != null) { for (int i = 0; i < mechs.length; i++) print(mechs[i].toString()); } // release system resources held by the credential cred.dispose();
public static final int INITIATE_AND_ACCEPT
public static final int型INITIATE_AND_ACCEPT
Credential usage flag requesting that it be able to be used for both context initiation and acceptance. The value of this constant is 0.
資格使用フラグがコンテキストの起動と受け入れの両方に使用することができるようにすることを要求します。この定数の値は0です。
public static final int INITIATE_ONLY
public static final int型INITIATE_ONLY
Credential usage flag requesting that it be able to be used for context initiation only. The value of this constant is 1.
資格使用フラグそれだけコンテキストの起動のために使用することができるようにすることを要求します。この定数の値は1です。
public static final int ACCEPT_ONLY
public static final int型ACCEPT_ONLY
Credential usage flag requesting that it be able to be used for context acceptance only. The value of this constant is 2.
資格使用フラグ唯一のコンテキストの受け入れのために使用することができることが要求します。この定数の値は2です。
public static final int DEFAULT_LIFETIME
public static final int型DEFAULT_LIFETIME
A lifetime constant representing the default credential lifetime.
資格のデフォルトの寿命を表す寿命定数です。
The value of this constant is 0.
この定数の値は0です。
public static final int INDEFINITE_LIFETIME
public static final int型INDEFINITE_LIFETIME
A lifetime constant representing indefinite credential lifetime. The value of this constant is the maximum integer value in Java - Integer.MAX_VALUE.
不定資格寿命を表す寿命定数。 Integer.MAX_VALUEの - この定数の値は、Javaの最大の整数値です。
public void dispose() throws GSSException
公共無効にdispose()は、てGSSExceptionをスローします
Releases any sensitive information that the GSSCredential object may be containing. Applications should call this method as soon as the credential is no longer needed to minimize the time any sensitive information is maintained.
GSSCredentialオブジェクトが保有している機密情報を解放します。アプリケーションは、すぐに資格がもはや機密情報が維持されている時間を最小限にするために必要とされるように、このメソッドを呼び出す必要があります。
public GSSName getName() throws GSSException
パブリックたGSSNameのgetName()てGSSExceptionをスローします
Retrieves the name of the entity that the credential asserts.
資格が表明するエンティティの名前を取得します。
public GSSName getName(Oid mechOID) throws GSSException
パブリックたGSSNameのgetName(OID mechOIDは)てGSSExceptionをスローします
Retrieves a mechanism name of the entity that the credential asserts. Equivalent to calling canonicalize() on the name returned by section 7.3.4.
資格が表明しているエンティティのメカニズムの名前を取得します。セクション7.3.4で返される名前のカノニカル()を呼び出すことと同じです。
Parameters:
パラメーター:
mechOID: The mechanism for which information should be returned.
mechOID:情報が返されるためのメカニズム。
public int getRemainingLifetime() throws GSSException
公共int型のgetRemainingLifetimeは()てGSSExceptionをスローします
Returns the remaining lifetime in seconds for a credential. The remaining lifetime is the minimum lifetime for any of the underlying credential mechanisms. A return value of GSSCredential.INDEFINITE_LIFETIME indicates that the credential does not expire. A return value of 0 indicates that the credential is already expired.
資格のための秒の残りの寿命を返します。残りの寿命は、基礎となる資格機構のいずれかのための最低限の寿命です。 GSSCredential.INDEFINITE_LIFETIMEの戻り値は、資格の有効期限が切れていないことを示しています。 0の戻り値は、資格がすでに期限切れになっていることを示しています。
public int getRemainingInitLifetime(Oid mech) throws GSSException
公共int型getRemainingInitLifetime(OIDメカは)てGSSExceptionをスローします
Returns the remaining lifetime in seconds for the credential to remain capable of initiating security contexts under the specified mechanism. A return value of GSSCredential.INDEFINITE_LIFETIME indicates that the credential does not expire for context initiation. A return value of 0 indicates that the credential is already expired.
指定されたメカニズムの下でセキュリティコンテキストを開始することができるままに資格を秒で残りの寿命を返します。 GSSCredential.INDEFINITE_LIFETIMEの戻り値は、資格がコンテキストの起動のための有効期限が切れていないことを示しています。 0の戻り値は、資格がすでに期限切れになっていることを示しています。
Parameters:
パラメーター:
mechOID: The mechanism for which information should be returned.
mechOID:情報が返されるためのメカニズム。
public int getRemainingAcceptLifetime(Oid mech) throws GSSException
公共int型getRemainingAcceptLifetime(OIDメカは)てGSSExceptionをスローします
Returns the remaining lifetime in seconds for the credential to remain capable of accepting security contexts under the specified mechanism. A return value of GSSCredential.INDEFINITE_LIFETIME indicates that the credential does not expire for context acceptance. A return value of 0 indicates that the credential is already expired.
指定されたメカニズムの下でセキュリティコンテキストを受け入れることができるのままに資格を秒で残りの寿命を返します。 GSSCredential.INDEFINITE_LIFETIMEの戻り値は、資格がコンテキストの受け入れのための有効期限が切れていないことを示しています。 0の戻り値は、資格がすでに期限切れになっていることを示しています。
Parameters:
パラメーター:
mechOID: The mechanism for which information should be returned.
mechOID:情報が返されるためのメカニズム。
public int getUsage() throws GSSException
公共int型getUsageは()てGSSExceptionをスローします
Returns the credential usage flag as a union over all mechanisms. The return value will be one of GSSCredential.INITIATE_AND_ACCEPT(0), GSSCredential.INITIATE_ONLY(1), or GSSCredential.ACCEPT_ONLY(2).
すべてのメカニズムを超える組合としての資格使用フラグを返します。戻り値はGSSCredential.INITIATE_AND_ACCEPT(0)、GSSCredential.INITIATE_ONLY(1)、又はGSSCredential.ACCEPT_ONLY(2)のいずれかになります。
public int getUsage(Oid mechOID) throws GSSException
公共のint getUsage(OID mechOIDは)てGSSExceptionをスローします
Returns the credential usage flag for the specified mechanism only. The return value will be one of GSSCredential.INITIATE_AND_ACCEPT(0), GSSCredential.INITIATE_ONLY(1), or GSSCredential.ACCEPT_ONLY(2).
唯一の指定された機構の資格使用フラグを返します。戻り値はGSSCredential.INITIATE_AND_ACCEPT(0)、GSSCredential.INITIATE_ONLY(1)、又はGSSCredential.ACCEPT_ONLY(2)のいずれかになります。
Parameters:
パラメーター:
mechOID: The mechanism for which information should be returned.
mechOID:情報が返されるためのメカニズム。
public Oid[] getMechs() throws GSSException
公共のOIDは、[] getMechs()てGSSExceptionをスロー
Returns an array of mechanisms supported by this credential.
この資格でサポートされているメカニズムの配列を返します。
public void add(GSSName aName, int initLifetime, int acceptLifetime, Oid mech, int usage) throws GSSException
公共ボイドアドオン(たGSSNameもしaName、int型initLifetime、int型acceptLifetime、メカのOid、int型の使用法は)てGSSExceptionをスローします
Adds a mechanism-specific credential-element to an existing credential. This method allows the construction of credentials one mechanism at a time.
既存の資格に機構固有の資格要素を追加します。この方法は、一度に1つのメカニズムの資格情報の構築を可能にします。
This routine is envisioned to be used mainly by context acceptors during the creation of acceptance credentials, which are to be used with a variety of clients using different security mechanisms.
このルーチンは、異なるセキュリティ・メカニズムを使用して、さまざまなクライアントで使用される受諾の資格情報の作成中に受容文脈で主に使用されることを想定されています。
This routine adds the new credential element "in-place". To add the element in a new credential, first call clone() to obtain a copy of this credential, then call its add() method.
このルーチンは、「インプレース」の新しい資格要素を追加します。この資格のコピーを入手する新しい資格、最初の呼び出しクローン()内の要素を追加するには、そのadd()メソッドを呼び出します。
Parameters:
パラメーター:
aName: Name of the principal for whom this credential is to be acquired. Use "null" to specify the default principal.
もしaName:この資格を取得する人のためのプリンシパルの名前。デフォルトの主体を指定するには、「ヌル」を使用してください。
initLifetime: The number of seconds that credentials should remain valid for initiating of security contexts. Use GSSCredential.INDEFINITE_LIFETIME to request that the credentials have the maximum permitted lifetime. Use GSSCredential.DEFAULT_LIFETIME to request default credential lifetime.
initLifetime:資格情報がセキュリティコンテキストを開始するための有効なままにする秒数。資格情報が最大許容寿命を持っていることを要求する場合は、GSSCredential.INDEFINITE_LIFETIMEを使用してください。デフォルトの寿命を要求するには、GSSCredential.DEFAULT_LIFETIMEを使用してください。
acceptLifetime: The number of seconds that credentials should remain valid for accepting of security contexts.
acceptLifetime:資格情報がセキュリティコンテキストを受け入れるための有効なままにする秒数。
Use GSSCredential.INDEFINITE_LIFETIME to request that the credentials have the maximum permitted lifetime. Use GSSCredential.DEFAULT_LIFETIME to request default credential lifetime.
mech: The mechanisms over which the credential is to be acquired.
メカ:資格を取得しようとする上でのメカニズム。
usage: The intended usage for this credential object. The value of this parameter must be one of:
使用方法:この資格オブジェクトの使用目的。このパラメータの値は、のいずれかである必要があります
GSSCredential.INITIATE_AND_ACCEPT(0), GSSCredential.INITIATE_ONLY(1), or GSSCredential.ACCEPT_ONLY(2)
public boolean equals(Object another)
パブリックブール等号(別のオブジェクト)
Tests if this GSSCredential refers to the same entity as the supplied object. The two credentials must be acquired over the same mechanisms and must refer to the same principal. Returns "true" if the two GSSCredentials refer to the same entity; "false" otherwise. (Note that the Java language specification [JLS] requires that two objects that are equal according to the equals(Object) method must return the same integer result when the hashCode() method is called on them.)
試験このGSSCredentialが指定されたオブジェクトと同じエンティティを参照する場合。 2つの資格情報が同じメカニズムにわたって取得されなければならず、同じ主に参照しなければなりません。 2 GSSCredentialsが同じエンティティを参照する場合は「true」を返します。そうでない場合は「偽」。 (Java言語仕様[JLS]はハッシュコード()メソッドは、それらの上に呼び出されたときに対等に係る等しい2つのオブジェクト(Object)メソッドは同じ整数の結果を返さなければならないことを要求することに注意してください。)
Parameters:
パラメーター:
another: Another GSSCredential object for comparison.
別:比較のためのもう一つのGSSCredentialのオブジェクト。
This interface encapsulates the GSS-API security context and provides the security services (wrap, unwrap, getMIC, verifyMIC) that are available over the context. Security contexts are established between peers using locally acquired credentials. Multiple contexts may exist simultaneously between a pair of peers, using the same or different set of credentials. GSS-API functions in a manner independent of the underlying transport protocol and depends on its calling application to transport its tokens between peers.
このインタフェースは、GSS-APIのセキュリティコンテキストをカプセル化し、文脈上で利用可能なセキュリティ・サービス(ラップ、アンラップ、のgetMIC、たverifyMIC)を提供します。セキュリティコンテキストは、ローカルに取得した資格情報を使用してピア間に確立されています。複数のコンテキストは、資格情報の同じまたは異なるセットを使用して、ピアの対の間に同時に存在してもよいです。基礎となるトランスポートプロトコルのやり方とは独立でGSS-API関数とピア間のそのトークンを輸送するために、その呼び出し元のアプリケーションに依存します。
Before the context establishment phase is initiated, the context initiator may request specific characteristics desired of the established context. These can be set using the set methods. After the context is established, the caller can check the actual characteristic and services offered by the context using the query methods.
コンテキスト確立フェーズが開始される前に、コンテキスト起動は、確立されたコンテキストの所望の特定の特性を要求することができます。これらは、setメソッドを使用して設定することができます。コンテキストが確立された後、呼び出し側は、クエリメソッドを使用して、コンテキストによって提供される実際の特性やサービスを確認することができます。
The context establishment phase begins with the first call to the init method by the context initiator. During this phase, the initSecContext and acceptSecContext methods will produce GSS-API authentication tokens, which the calling application needs to send to its peer. If an error occurs at any point, an exception will get thrown and the code will start executing in a catch block. If not, the normal flow of code continues and the application can make a call to the isEstablished() method. If this method returns "false" it indicates that a token is needed from its peer in order to continue the context establishment phase. A return value of "true" signals that the local end of the context is established. This may still require that a token be sent to the peer, if one is produced by GSS-API. During the context establishment phase, the isProtReady() method may be called to determine if the context can be used for the per-message operations. This allows applications to use per-message operations on contexts that aren't fully established.
コンテキスト確立フェーズは、コンテキストイニシエータによってinitメソッドの最初の呼び出しから始まります。このフェーズでは、initSecContextとのacceptSecContextメソッドは、呼び出し側のアプリケーションがそのピアに送信する必要があるGSS-APIの認証トークンを生成します。エラーが任意の時点で発生した場合は、例外がスローされますと、コードはcatchブロックで実行を開始します。そうでない場合、コードの通常の流れが継続し、アプリケーションは、isEstablishedから()メソッドの呼び出しを行うことができます。この方法は、「false」を返す場合には、トークンは、コンテキスト確立フェーズを継続するために、そのピアから必要とされていることを示しています。コンテキストのローカルエンドが確立された「真」信号の戻り値。 1は、GSS-APIによって生成された場合、これはまだ、トークンをピアに送信することを要求することができます。コンテキスト確立フェーズの間、isProtReady()メソッドは、コンテキストがメッセージごとの操作に使用することができるかどうかを決定するために呼び出されてもよいです。これは、アプリケーションが完全に確立されていないコンテキストにメッセージごとの操作を使用することができます。
After the context has been established or the isProtReady() method returns "true", the query routines can be invoked to determine the actual characteristics and services of the established context. The application can also start using the per-message methods of wrap and getMIC to obtain cryptographic operations on application supplied data.
コンテキストが確立されている又はisProtReady()メソッドが「真」を返した後、クエリ・ルーチンは、確立されたコンテキストの実際の特性やサービスを決定するために呼び出すことができます。アプリケーションは、アプリケーション供給されたデータに暗号化操作を得るために、ラップメソッドとgetMICのメッセージごとの方法を使用して開始することができます。
When the context is no longer needed, the application should call dispose to release any system resources the context may be using.
コンテキストが不要になった場合、アプリケーションは、コンテキストが使用している可能性があるシステムリソースを解放するためにdisposeを呼び出すべきではありません。
The example code presented below demonstrates the usage of the GSSContext interface for the initiating peer. Different operations on the GSSContext object are presented, including: object instantiation, setting of desired flags, context establishment, query of actual context flags, per-message operations on application data, and finally context deletion.
以下に示すサンプルコードは、開始ピアのGSSContextのインターフェースの使用を実証します。オブジェクトのインスタンス化、所望のフラグの設定、コンテキストの確立、実際のコンテキストフラグの照会、アプリケーションデータに対するメッセージごとの操作、及び最終的にコンテキスト削除:GSSContextのオブジェクト上の異なる操作には、提示されています。
GSSManager mgr = GSSManager.getInstance();
GSSManager MGR = GSSManager.getInstance()。
// start by creating the name for a service entity GSSName targetName = mgr.createName("service@host", GSSName.NT_HOSTBASED_SERVICE);
//サービスエンティティたGSSNameターゲット名= mgr.createName(「サービス@ホスト」、GSSName.NT_HOSTBASED_SERVICE)の名前を作成することから始め、
// create a context using default credentials for the above entity // and the implementation-specific default mechanism GSSContext context = mgr.createContext(targetName, null, /* default mechanism */ null, /* default credentials */ GSSContext.INDEFINITE_LIFETIME);
// set desired context options - all others are "false" by default context.requestConf(true); context.requestMutualAuth(true); context.requestReplayDet(true); context.requestSequenceDet(true);
// establish a context between peers - using byte arrays byte[]inTok = new byte[0];
//ピア間でコンテキストを確立 - バイト配列を使用して、[0] [] inTok =新しいバイトをバイト。
try { do { byte[] outTok = context.initSecContext(inTok, 0, inTok.length);
試す{{バイト[] outTok = context.initSecContext(inTok、0、inTok.length)を行います。
// send the token if present if (outTok != null) sendToken(outTok);
// check if we should expect more tokens if (context.isEstablished()) break;
//我々があれば(context.isEstablished())ブレーク以上のトークンを期待すべきかどうかをチェック。
// another token expected from peer inTok = readToken();
inTok = readToken()ピアから期待//別のトークン。
} while (true);
}(真)一方、
} catch (GSSException e) { print("GSSAPI error: " + e.getMessage()); }
}キャッチ(てGSSException電子){プリント( "GSSAPIエラー:" + e.getMessage())。 }
// display context information print("Remaining lifetime in seconds = " + context.getLifetime()); print("Context mechanism = " + context.getMech().toString()); print("Initiator = " + context.getSrcName().toString()); print("Acceptor = " + context.getTargName().toString());
if (context.getConfState()) print("Confidentiality security service available");
(「機密性のセキュリティサービス利用可能」)(context.getConfState())印刷する場合は、
if (context.getIntegState())
もし(context.getIntegState())
print("Integrity security service available");
印刷(「可能な整合性セキュリティサービス」)。
// perform wrap on an application-supplied message, appMsg, // using QOP = 0, and requesting privacy service byte[] appMsg ...
// QOP = 0を使用して、アプリケーションが提供するメッセージ、appMsg、//上のラップを実行し、appMsg []プライバシーサービスのバイトを要求...
MessageProp mProp = new MessageProp(0, true);
MessageProp mProp =新しいMessageProp(0、真の);
byte[] tok = context.wrap(appMsg, 0, appMsg.length, mProp);
バイト[] TOK = context.wrap(appMsg、0、appMsg.length、mProp)。
if (mProp.getPrivacy()) print("Message protected with privacy.");
もし(mProp.getPrivacy())プリント( "プライバシーを保護されたメッセージ。");
sendToken(tok);
sendToken(かかりました)。
// release the local end of the context context.dispose();
//)(コンテキストcontext.disposeのローカルエンドをリリース。
public static final int DEFAULT_LIFETIME
public static final int型DEFAULT_LIFETIME
A lifetime constant representing the default context lifetime. The value of this constant is 0.
コンテキストのデフォルトの寿命を表す寿命定数です。この定数の値は0です。
public static final int INDEFINITE_LIFETIME
public static final int型INDEFINITE_LIFETIME
A lifetime constant representing indefinite context lifetime. The value of this constant is the maximum integer value in Java - Integer.MAX_VALUE.
不定コンテキストの寿命を表す寿命定数。 Integer.MAX_VALUEの - この定数の値は、Javaの最大の整数値です。
public byte[] initSecContext(byte[] inputBuf, int offset, int len) throws GSSException
公共のバイトは[] initSecContext(バイト[] inputBuf、int型のオフセット、int型のlen)てGSSExceptionをスローします
Called by the context initiator to start the context creation process. This is equivalent to the stream-based method except that the token buffers are handled as byte arrays instead of using stream objects. This method may return an output token that the application will need to send to the peer for processing by the accept call. Typically, the application would do so by calling the flush() method on an OutputStream that encapsulates the connection between the two peers. The application can call isEstablished() to determine if the context establishment phase is complete for this peer. A return value of "false" from isEstablished() indicates that more tokens are expected to be supplied to the initSecContext() method. Note that it is possible that the initSecContext() method will return a token for the peer and isEstablished() will return "true" also. This indicates that the token needs to be sent to the peer, but the local end of the context is now fully established.
コンテキストの作成プロセスを開始するには、コンテキストイニシエータによって呼び出されます。これは、トークンバッファが代わりにストリームオブジェクトを使用してのバイト配列として扱われることを除いて、ストリームベースの方法と同等です。この方法は、アプリケーションが受け入れるコールによる処理のためにピアに送信する必要があります出力トークンを返すことがあります。典型的には、アプリケーションは、2つのピア間の接続をカプセル化したOutputStreamにフラッシュ()メソッドを呼び出すことによってこれを行うであろう。アプリケーションは、コンテキスト確立フェーズは、このピアのために完了したかどうかを決定するためにisEstablishedから()を呼び出すことができます。 isEstablishedから()から「偽」の戻り値は、複数のトークンがinitSecContext()メソッドに供給されることが予想されることを示しています。 initSecContext()メソッドは、「真」を返しますピアとisEstablishedから()のためのトークンを返すことも可能であることに注意してください。これは、トークンは、ピアに送信する必要はなく、コンテキストのローカルエンドは現在完全に確立されていることを示します。
Upon completion of the context establishment, the available context options may be queried through the get methods.
コンテキストの確立が完了すると、利用可能なコンテキストオプションは、getメソッドを介して照会することができます。
Parameters:
パラメーター:
inputBuf: Token generated by the peer. This parameter is ignored on the first call.
inputBuf:トークンは、ピアによって生成されます。このパラメータは、最初の呼び出しでは無視されます。
offset: The offset within the inputBuf where the token begins.
オフセット:トークンが始まるinputBuf内のオフセット。
len: The length of the token within the inputBuf (starting at the offset).
LEN:inputBuf内のトークンの長さ(オフセットから始まります)。
// Create a new GSSContext implementation object. // GSSContext wrapper implements interface GSSContext. GSSContext context = mgr.createContext(...);
byte[] inTok = new byte[0];
バイト[] inTok =新しいバイト[0];
try { do { byte[] outTok = context.initSecContext(inTok, 0, inTok.length);
試す{{バイト[] outTok = context.initSecContext(inTok、0、inTok.length)を行います。
// send the token if present if (outTok != null) sendToken(outTok);
// check if we should expect more tokens if (context.isEstablished()) break;
//我々があれば(context.isEstablished())ブレーク以上のトークンを期待すべきかどうかをチェック。
// another token expected from peer inTok = readToken(); } while (true);
} catch (GSSException e) { print("GSSAPI error: " + e.getMessage()); }
}キャッチ(てGSSException電子){プリント( "GSSAPIエラー:" + e.getMessage())。 }
public int initSecContext(InputStream inStream, OutputStream outStream) throws GSSException
公共int型initSecContext(、InputStreamであるinStream、OutputStreamのOUTSTREAMは)てGSSExceptionをスローします
Called by the context initiator to start the context creation process. This is equivalent to the byte-array-based method. This method may write an output token to the outStream, which the application will need to send to the peer for processing by the accept call. Typically, the application would do so by calling the flush() method on an OutputStream that encapsulates the connection between the two peers. The application can call isEstablished() to determine if the context establishment phase is complete for this peer. A return value of "false" from isEstablished indicates that more tokens are expected to be supplied to the initSecContext method. Note that it is possible that the initSecContext() method will return a token for the peer and isEstablished() will return "true" also. This indicates that the token needs to be sent to the peer, but the local end of the context is now fully established.
コンテキストの作成プロセスを開始するには、コンテキストイニシエータによって呼び出されます。これは、バイトアレイベースの方法と同等です。この方法は、アプリケーションが受け入れるコールによる処理のためにピアに送信する必要がOUTSTREAMに出力トークンを書き込むことができます。典型的には、アプリケーションは、2つのピア間の接続をカプセル化したOutputStreamにフラッシュ()メソッドを呼び出すことによってこれを行うであろう。アプリケーションは、コンテキスト確立フェーズは、このピアのために完了したかどうかを決定するためにisEstablishedから()を呼び出すことができます。 isEstablishedからから「偽」の戻り値は、複数のトークンがinitSecContext方法に供給されることが予想されることを示しています。 initSecContext()メソッドは、「真」を返しますピアとisEstablishedから()のためのトークンを返すことも可能であることに注意してください。これは、トークンは、ピアに送信する必要はなく、コンテキストのローカルエンドは現在完全に確立されていることを示します。
The GSS-API authentication tokens contain a definitive start and end. This method will attempt to read one of these tokens per invocation, and may block on the stream if only part of the token is available.
GSS-APIの認証トークンは決定的開始と終了が含まれています。このメソッドは、呼び出しごとに、これらのトークンの1を読み込もうとし、トークンの一部のみが利用可能な場合、ストリーム上でブロックすることがあります。
Upon completion of the context establishment, the available context options may be queried through the get methods.
コンテキストの確立が完了すると、利用可能なコンテキストオプションは、getメソッドを介して照会することができます。
Parameters:
パラメーター:
inStream: Contains the token generated by the peer. This parameter is ignored on the first call.
inStreamには:ピアによって生成されたトークンが含まれています。このパラメータは、最初の呼び出しでは無視されます。
outStream: Output stream where the output token will be written. During the final stage of context establishment, there may be no bytes written.
OUTSTREAM:出力トークンが書き込まれる出力ストリーム。コンテキスト確立の最終段階の間に、何バイトが書き込まれていないがあってもよいです。
This sample code merely demonstrates the token exchange during the context establishment phase. It is expected that most Java applications will use custom implementations of the Input and Output streams that encapsulate the communication routines. For instance, a simple read on the application InputStream, when called by the Context, might cause a token to be read from the peer, and a simple flush() on the application OutputStream might cause a previously written token to be transmitted to the peer.
このサンプルコードは、単にコンテキスト確立フェーズトークン交換を示しています。ほとんどのJavaアプリケーションは、通信ルーチンをカプセル化入出力ストリームのカスタム実装を使用することが期待されます。例えば、アプリケーションの入力ストリーム上の単純な読み取りは、文脈によって呼び出されたとき、トークンは、ピアから読み出されると、以前に記述されたトークンを引き起こす可能性があるアプリケーションのOutputStreamに単純なフラッシュ()はピアに送信されることがあります。
// Create a new GSSContext implementation object. // GSSContext wrapper implements interface GSSContext. GSSContext context = mgr.createContext(...); // use standard java.io stream objects ByteArrayOutputStream os = new ByteArrayOutputStream(); ByteArrayInputStream is = null;
try { do { context.initSecContext(is, os);
試す{{context.initSecContext(で、OS)を行います。
// send token if present if (os.size() > 0) sendToken(os);
// check if we should expect more tokens if (context.isEstablished()) break;
//我々があれば(context.isEstablished())ブレーク以上のトークンを期待すべきかどうかをチェック。
// another token expected from peer is = recvToken();
ピアから期待//別のトークンは= recvToken()です。
} while (true);
}(真)一方、
} catch (GSSException e) { print("GSSAPI error: " + e.getMessage()); }
}キャッチ(てGSSException電子){プリント( "GSSAPIエラー:" + e.getMessage())。 }
public byte[] acceptSecContext(byte[] inTok, int offset, int len) throws GSSException
公共のバイトは[]のacceptSecContext(バイト[] inTok、int型のオフセット、int型のlen)てGSSExceptionをスローします
Called by the context acceptor upon receiving a token from the peer. This call is equivalent to the stream-based method except that the token buffers are handled as byte arrays instead of using stream objects.
ピアからトークンを受信すると、コンテキスト・アクセプターによって呼び出さ。この呼び出しは、トークンバッファが代わりにストリームオブジェクトを使用してのバイト配列として扱われることを除いて、ストリームベースの方法と同等です。
This method may return an output token that the application will need to send to the peer for further processing by the init call.
この方法は、アプリケーションが初期化コールによるさらなる処理のためにピアに送信する必要があります出力トークンを返すことがあります。
The "null" return value indicates that no token needs to be sent to the peer. The application can call isEstablished() to determine if the context establishment phase is complete for this peer. A return value of "false" from isEstablished() indicates that more tokens are expected to be supplied to this method.
「ヌル」の戻り値にはトークンがピアに送信する必要がないことを示しています。アプリケーションは、コンテキスト確立フェーズは、このピアのために完了したかどうかを決定するためにisEstablishedから()を呼び出すことができます。 isEstablishedから()から「偽」の戻り値は、複数のトークンが、この方法に供給されることが期待されていることを示しています。
Note that it is possible that acceptSecContext() will return a token for the peer and isEstablished() will return "true" also. This indicates that the token needs to be sent to the peer, but the local end of the context is now fully established.
のacceptSecContext()は、ピアのトークンを返し、isEstablishedから()も「真」を返すなる可能性があることに注意してください。これは、トークンは、ピアに送信する必要はなく、コンテキストのローカルエンドは現在完全に確立されていることを示します。
Upon completion of the context establishment, the available context options may be queried through the get methods.
コンテキストの確立が完了すると、利用可能なコンテキストオプションは、getメソッドを介して照会することができます。
Parameters:
パラメーター:
inTok: Token generated by the peer.
inTok:トークンは、ピアによって生成されます。
offset: The offset within the inTok where the token begins.
オフセット:トークンが始まるinTok内のオフセット。
len: The length of the token within the inTok (starting at the offset).
LEN:inTok内のトークンの長さ(オフセットから始まります)。
// acquire server credentials GSSCredential server = mgr.createCredential(...);
// create acceptor GSS-API context from the default provider GSSContext context = mgr.createContext(server, null);
//デフォルトのプロバイダGSSContextのコンテキスト= mgr.createContext(サーバー、ヌル)からアクセプタGSS-APIコンテキストを作成します。
try { do { byte[] inTok = readToken();
バイト[] inTok = readToken(){{行う試みます。
byte[] outTok = context.acceptSecContext(inTok, 0, inTok.length);
// possibly send token to peer if (outTok != null) sendToken(outTok);
//おそらく(!outTok = null)のsendToken(outTok)場合はピアにトークンを送ります。
// check if local context establishment is complete if (context.isEstablished()) break; } while (true);
} catch (GSSException e) { print("GSS-API error: " + e.getMessage()); }
}キャッチ(てGSSException電子){プリント( "GSS-APIエラー:" + e.getMessage())。 }
public void acceptSecContext(InputStream inStream, OutputStream outStream) throws GSSException
公共のボイドのacceptSecContext(、InputStreamであるinStream、OutputStreamのOUTSTREAMは)てGSSExceptionをスローします
Called by the context acceptor upon receiving a token from the peer. This call is equivalent to the byte array method. It may write an output token to the outStream, which the application will need to send to the peer for processing by its initSecContext method. Typically, the application would do so by calling the flush() method on an OutputStream that encapsulates the connection between the two peers. The application can call isEstablished() to determine if the context establishment phase is complete for this peer. A return value of "false" from isEstablished() indicates that more tokens are expected to be supplied to this method.
ピアからトークンを受信すると、コンテキスト・アクセプターによって呼び出さ。この呼び出しは、バイト配列方式と同等です。これは、アプリケーションがそのinitSecContext方法による処理のためにピアに送信する必要がOUTSTREAMに出力トークンを書き込むことができます。典型的には、アプリケーションは、2つのピア間の接続をカプセル化したOutputStreamにフラッシュ()メソッドを呼び出すことによってこれを行うであろう。アプリケーションは、コンテキスト確立フェーズは、このピアのために完了したかどうかを決定するためにisEstablishedから()を呼び出すことができます。 isEstablishedから()から「偽」の戻り値は、複数のトークンが、この方法に供給されることが期待されていることを示しています。
Note that it is possible that acceptSecContext() will return a token for the peer and isEstablished() will return "true" also. This indicates that the token needs to be sent to the peer, but the local end of the context is now fully established.
のacceptSecContext()は、ピアのトークンを返し、isEstablishedから()も「真」を返すなる可能性があることに注意してください。これは、トークンは、ピアに送信する必要はなく、コンテキストのローカルエンドは現在完全に確立されていることを示します。
The GSS-API authentication tokens contain a definitive start and end. This method will attempt to read one of these tokens per invocation, and may block on the stream if only part of the token is available.
GSS-APIの認証トークンは決定的開始と終了が含まれています。このメソッドは、呼び出しごとに、これらのトークンの1を読み込もうとし、トークンの一部のみが利用可能な場合、ストリーム上でブロックすることがあります。
Upon completion of the context establishment, the available context options may be queried through the get methods.
コンテキストの確立が完了すると、利用可能なコンテキストオプションは、getメソッドを介して照会することができます。
Parameters:
パラメーター:
inStream: Contains the token generated by the peer.
inStreamには:ピアによって生成されたトークンが含まれています。
outStream: Output stream where the output token will be written. During the final stage of context establishment, there may be no bytes written.
OUTSTREAM:出力トークンが書き込まれる出力ストリーム。コンテキスト確立の最終段階の間に、何バイトが書き込まれていないがあってもよいです。
This sample code merely demonstrates the token exchange during the context establishment phase. It is expected that most Java applications will use custom implementations of the Input and Output streams that encapsulate the communication routines. For instance, a simple read on the application InputStream, when called by the Context, might cause a token to be read from the peer, and a simple flush() on the application OutputStream might cause a previously written token to be transmitted to the peer.
このサンプルコードは、単にコンテキスト確立フェーズトークン交換を示しています。ほとんどのJavaアプリケーションは、通信ルーチンをカプセル化入出力ストリームのカスタム実装を使用することが期待されます。例えば、アプリケーションの入力ストリーム上の単純な読み取りは、文脈によって呼び出されたとき、トークンは、ピアから読み出されると、以前に記述されたトークンを引き起こす可能性があるアプリケーションのOutputStreamに単純なフラッシュ()はピアに送信されることがあります。
// acquire server credentials GSSCredential server = mgr.createCredential(...);
//サーバーの資格情報を取得GSSCredentialのサーバー= mgr.createCredential(...);
// create acceptor GSS-API context from the default provider GSSContext context = mgr.createContext(server, null);
//デフォルトのプロバイダGSSContextのコンテキスト= mgr.createContext(サーバー、ヌル)からアクセプタGSS-APIコンテキストを作成します。
// use standard java.io stream objects ByteArrayOutputStream os = new ByteArrayOutputStream(); ByteArrayInputStream is = null;
try { do {
{しようと{行います
is = recvToken();
ある= recvToken()。
context.acceptSecContext(is, os);
context.acceptSecContext(OSです)。
// possibly send token to peer if (os.size() > 0) sendToken(os);
//おそらくピアにトークンを送信する場合(os.size()> 0)sendToken(OS)。
// check if local context establishment is complete if (context.isEstablished()) break; } while (true);
} catch (GSSException e) { print("GSS-API error: " + e.getMessage()); }
}キャッチ(てGSSException電子){プリント( "GSS-APIエラー:" + e.getMessage())。 }
public boolean isEstablished()
パブリックブールisEstablishedから()
Used during context establishment to determine the state of the context. Returns "true" if this is a fully established context on the caller's side and no more tokens are needed from the peer. Should be called after a call to initSecContext() or acceptSecContext() when no GSSException is thrown.
コンテキストの状態を判断するためにコンテキストが確立しているときに使用されます。これは、発信者の側で完全に確立されたコンテキストで、それ以上のトークンがピアから必要とされていない場合は「true」を返します。 initSecContext()または何てGSSExceptionがスローされないのacceptSecContext()を呼び出した後に呼び出す必要があります。
public void dispose() throws GSSException
公共無効にdispose()は、てGSSExceptionをスローします
Releases any system resources and cryptographic information stored in the context object. This will invalidate the context.
コンテキストオブジェクトに格納されているシステム資源と暗号化情報をすべて解放。これは、コンテキストが無効になります。
public int getWrapSizeLimit(int qop, boolean confReq, int maxTokenSize) throws GSSException
公共int型getWrapSizeLimit(int型QOP、ブールCONFREQ、int型のMaxTokenSizeは)てGSSExceptionをスローします
Returns the maximum message size that, if presented to the wrap method with the same confReq and qop parameters, will result in an output token containing no more than the maxTokenSize bytes.
同じCONFREQとQOPパラメータを持つラップ方式に提示場合、のMaxTokenSizeバイト以下で含有しない出力トークンをもたらす最大メッセージサイズを返します。
This call is intended for use by applications that communicate over protocols that impose a maximum message size. It enables the application to fragment messages prior to applying protection.
この呼び出しは、最大メッセージサイズを課すプロトコルを介して通信するアプリケーションによる使用のために意図されています。これは、保護を適用する前に、メッセージを断片化するためのアプリケーションを可能にします。
GSS-API implementations are recommended but not required to detect invalid QOP values when getWrapSizeLimit is called. This routine guarantees only a maximum message size, not the availability of specific QOP values for message protection.
GSS-APIの実装を推奨しますが、getWrapSizeLimitが呼び出されたときに、無効なQOP値を検出する必要はありません。このルーチン保証のみ最大メッセージサイズ、メッセージ保護のための具体的なQOP値のない可用性。
Successful completion of this call does not guarantee that wrap will be able to protect a message of the computed length, since this ability may depend on the availability of system resources at the time that wrap is called. However, if the implementation itself imposes an upper limit on the length of messages that may be processed by wrap, the implementation should not return a value that is greater than this length.
この能力は、ラップが呼び出された時点で、システムリソースの可用性に依存してもよいので、そのラップを保証するものではありません。この呼び出しが正常に完了したが、計算された長さのメッセージを保護することができるようになります。実装自体は、ラップによって処理することができるメッセージの長さに上限を課す場合は、実装は、この長さよりも大きい値を返すべきではありません。
Parameters:
パラメーター:
qop: Indicates the level of protection wrap will be asked to provide.
QOP:保護ラップのレベルを提供するように要求されることを示します。
confReq: Indicates if wrap will be asked to provide privacy service.
CONFREQ:ラップはプライバシーサービスを提供するように求められますかどうかを示します。
maxTokenSize: The desired maximum size of the token emitted by wrap.
MaxTokenSize:ラップによって放出されたトークンの所望の最大サイズ。
public byte[] wrap(byte[] inBuf, int offset, int len, MessageProp msgProp) throws GSSException
公共のバイトは[](、バイト[] INBUFオフセット、int型のlen、MessageProp msgPropはint型)ラップてGSSExceptionをスローします
Applies per-message security services over the established security context. The method will return a token with a cryptographic MIC and may optionally encrypt the specified inBuf. This method is equivalent in functionality to its stream counterpart. The returned byte array will contain both the MIC and the message.
確立されたセキュリティコンテキストにメッセージごとのセキュリティサービスを適用します。この方法は、暗号化MICを有するトークンを返し、必要に応じて指定されたINBUFを暗号化することができます。このメソッドは、そのストリームの対応と機能的に同等です。返されるバイト配列は、MICとメッセージの両方が含まれています。
The MessageProp object is instantiated by the application and used to specify a QOP value that selects cryptographic algorithms, and a privacy service to optionally encrypt the message. The underlying mechanism that is used in the call may not be able to provide the privacy service. It sets the actual privacy service that it does provide in this MessageProp object, which the caller should then query upon return. If the mechanism is not able to provide the requested QOP, it throws a GSSException with the BAD_QOP code.
MessagePropオブジェクトは、アプリケーションによってインスタンス化メッセージを暗号化するために任意の暗号化アルゴリズムを選択QOP値、およびプライバシーサービスを指定するために使用されます。呼び出しで使用される基本的なメカニズムは、プライバシーサービスを提供することができない場合があります。それは、呼び出し側が、その後復帰時に照会する必要があり、このMessagePropオブジェクトに提供しません実際のプライバシサービスを設定します。メカニズムは、要求されたQOPを提供できない場合は、BAD_QOPコードが設定されたGSSExceptionがスローされます。
Since some application-level protocols may wish to use tokens emitted by wrap to provide "secure framing", implementations should support the wrapping of zero-length messages.
いくつかのアプリケーションレベルのプロトコルは、「セキュアフレーミング」を提供するために、ラップによって放出されたトークンを使用することを望むかもしれないので、実装が長さゼロのメッセージの折り返しをサポートしなければなりません。
The application will be responsible for sending the token to the peer.
アプリケーションは、ピアにトークンを送信するための責任を負うことになります。
Parameters:
パラメーター:
inBuf: Application data to be protected.
INBUF:アプリケーションデータを保護します。
offset: The offset within the inBuf where the data begins.
オフセット:データが始まるINBUF内のオフセット。
len: The length of the data within the inBuf (starting at the offset).
LEN:INBUF内のデータの長さ(オフセットから始まります)。
msgProp: Instance of MessageProp that is used by the application to set the desired QOP and privacy state. Set the desired QOP to 0 to request the default QOP. Upon return from this method, this object will contain the actual privacy state that was applied to the message by the underlying mechanism.
msgProp:所望QOPとプライバシ状態を設定するためにアプリケーションによって使用されるMessagePropのインスタンス。デフォルトのQOPを要求するために0に必要なQOPを設定します。このメソッドから戻ると、このオブジェクトは、基礎となる機構によってメッセージに適用された実際のプライバシ状態を含むであろう。
public void wrap(InputStream inStream, OutputStream outStream, MessageProp msgProp) throws GSSException
公共のボイドラップ(、InputStreamであるinStream、OutputStreamのOUTSTREAM、MessageProp msgProp)がてGSSExceptionをスローします
Allows to apply per-message security services over the established security context. The method will produce a token with a cryptographic MIC and may optionally encrypt the message in inStream. The outStream will contain both the MIC and the message.
確立されたセキュリティコンテキストにメッセージごとのセキュリティサービスを適用することができます。この方法は、暗号化MICを有するトークンを生成し、任意選択であるinStreamでメッセージを暗号化することができます。 OUTSTREAMはMICとメッセージの両方が含まれています。
The MessageProp object is instantiated by the application and used to specify a QOP value that selects cryptographic algorithms, and a privacy service to optionally encrypt the message. The underlying mechanism that is used in the call may not be able to provide the privacy service. It sets the actual privacy service that it does provide in this MessageProp object, which the caller should then query upon return. If the mechanism is not able to provide the requested QOP, it throws a GSSException with the BAD_QOP code.
MessagePropオブジェクトは、アプリケーションによってインスタンス化メッセージを暗号化するために任意の暗号化アルゴリズムを選択QOP値、およびプライバシーサービスを指定するために使用されます。呼び出しで使用される基本的なメカニズムは、プライバシーサービスを提供することができない場合があります。それは、呼び出し側が、その後復帰時に照会する必要があり、このMessagePropオブジェクトに提供しません実際のプライバシサービスを設定します。メカニズムは、要求されたQOPを提供できない場合は、BAD_QOPコードが設定されたGSSExceptionがスローされます。
Since some application-level protocols may wish to use tokens emitted by wrap to provide "secure framing", implementations should support the wrapping of zero-length messages.
いくつかのアプリケーションレベルのプロトコルは、「セキュアフレーミング」を提供するために、ラップによって放出されたトークンを使用することを望むかもしれないので、実装が長さゼロのメッセージの折り返しをサポートしなければなりません。
The application will be responsible for sending the token to the peer.
アプリケーションは、ピアにトークンを送信するための責任を負うことになります。
Parameters:
パラメーター:
inStream: Input stream containing the application data to be protected.
あるinStream:保護されるアプリケーションデータを含む入力ストリーム。
outStream: The output stream to which to write the protected message. The application is responsible for sending this to the other peer for processing in its unwrap method.
OUTSTREAM:保護されたメッセージを書くために、出力ストリーム。アプリケーションは、そのアンラップ方法で処理するための他のピアにこれを送信する責任があります。
msgProp: Instance of MessageProp that is used by the application to set the desired QOP and privacy state. Set the desired QOP to 0 to request the default QOP. Upon return from this method, this object will contain the actual privacy state that was applied to the message by the underlying mechanism.
msgProp:所望QOPとプライバシ状態を設定するためにアプリケーションによって使用されるMessagePropのインスタンス。デフォルトのQOPを要求するために0に必要なQOPを設定します。このメソッドから戻ると、このオブジェクトは、基礎となる機構によってメッセージに適用された実際のプライバシ状態を含むであろう。
public byte[] unwrap(byte[] inBuf, int offset, int len, MessageProp msgProp) throws GSSException
公共のバイトは[](、バイト[] INBUFオフセット、int型のlen、MessageProp msgPropはint型)アンラップてGSSExceptionをスローします
Used by the peer application to process tokens generated with the wrap call. This call is equal in functionality to its stream counterpart. The method will return the message supplied in the peer application to the wrap call, verifying the embedded MIC.
ラップ呼び出しで生成されたトークンを処理するために、ピア・アプリケーションによって使用されます。この呼び出しは、そのストリームの対応と機能的に同等です。この方法は、埋め込まれたMICを検証し、ラップ呼にピアアプリケーションで供給メッセージを返します。
The MessageProp object is instantiated by the application and is used by the underlying mechanism to return information to the caller such as the QOP, whether confidentiality was applied to the message, and other supplementary message state information.
MessagePropオブジェクトは、アプリケーションによってインスタンス化され、機密性、メッセージ、及び他の補助メッセージの状態情報に適用されたかどうか、そのようなQOPとして呼び出し元に情報を返すために、基礎となるメカニズムによって使用されます。
Since some application-level protocols may wish to use tokens emitted by wrap to provide "secure framing", implementations should support the wrapping and unwrapping of zero-length messages.
いくつかのアプリケーションレベルのプロトコルは、「セキュアフレーミング」を提供するために、ラップによって放出されたトークンを使用することを望むかもしれないので、実装が長さゼロのメッセージのラッピング及びアンラッピングをサポートしなければなりません。
Parameters:
パラメーター:
inBuf: GSS-API wrap token received from peer.
INBUF:ピアから受信したGSS-APIラップトークン。
offset: The offset within the inBuf where the token begins.
オフセット:トークンが始まるINBUF内のオフセット。
len: The length of the token within the inBuf (starting at the offset).
LEN:INBUF内のトークンの長さ(オフセットから始まります)。
msgProp: Upon return from the method, this object will contain the applied QOP, the privacy state of the message, and supplementary information, described in section 5.12.3, stating whether the token was a duplicate, old, out of sequence, or arriving after a gap.
msgProp:メソッドから戻ると、適用されたQOP、メッセージのプライバシ状態、および補足情報を、含まれています。このオブジェクトは、トークンは順序が狂って、複製、古いあったかどうかを知らせる、または到着し、セクション5.12.3で説明ギャップの後。
public void unwrap(InputStream inStream, OutputStream outStream, MessageProp msgProp) throws GSSException
公共ボイドアンラップ(、InputStreamであるinStream、OutputStreamのOUTSTREAM、MessageProp msgProp)がてGSSExceptionをスローします
Used by the peer application to process tokens generated with the wrap call. This call is equal in functionality to its byte array counterpart. It will produce the message supplied in the peer application to the wrap call, verifying the embedded MIC.
ラップ呼び出しで生成されたトークンを処理するために、ピア・アプリケーションによって使用されます。この呼び出しは、そのバイト配列の対応と機能的に同等です。これは、埋め込まれたMICを検証し、ラップ呼び出しにピアアプリケーションで提供されたメッセージを生成します。
The MessageProp object is instantiated by the application and is used by the underlying mechanism to return information to the caller such as the QOP, whether confidentiality was applied to the message, and other supplementary message state information.
MessagePropオブジェクトは、アプリケーションによってインスタンス化され、機密性、メッセージ、及び他の補助メッセージの状態情報に適用されたかどうか、そのようなQOPとして呼び出し元に情報を返すために、基礎となるメカニズムによって使用されます。
Since some application-level protocols may wish to use tokens emitted by wrap to provide "secure framing", implementations should support the wrapping and unwrapping of zero-length messages.
いくつかのアプリケーションレベルのプロトコルは、「セキュアフレーミング」を提供するために、ラップによって放出されたトークンを使用することを望むかもしれないので、実装が長さゼロのメッセージのラッピング及びアンラッピングをサポートしなければなりません。
Parameters:
パラメーター:
inStream: Input stream containing the GSS-API wrap token received from the peer.
あるinStream:ピアから受信したGSS-APIラップトークンを含む入力ストリーム。
outStream: The output stream to which to write the application message.
OUTSTREAM:アプリケーションメッセージを書き込むに出力ストリーム。
msgProp: Upon return from the method, this object will contain the applied QOP, the privacy state of the message, and supplementary information, described in section 5.12.3, stating whether the token was a duplicate, old, out of sequence, or arriving after a gap.
msgProp:メソッドから戻ると、適用されたQOP、メッセージのプライバシ状態、および補足情報を、含まれています。このオブジェクトは、トークンは順序が狂って、複製、古いあったかどうかを知らせる、または到着し、セクション5.12.3で説明ギャップの後。
public byte[] getMIC(byte[] inMsg, int offset, int len, MessageProp msgProp) throws GSSException
公共のバイトは[]てGSSExceptionをスローのgetMIC(オフセット、int型のlen、MessageProp msgPropはバイト[] inMsg、int型)
Returns a token containing a cryptographic MIC for the supplied message for transfer to the peer application. Unlike wrap, which encapsulates the user message in the returned token, only the message MIC is returned in the output token. This method is identical in functionality to its stream counterpart.
ピアアプリケーションに転送するために供給されるメッセージの暗号化MICを含むトークンを返します。返されたトークン内のユーザーのメッセージをカプセル化し、ラップとは異なり、メッセージのみのMICが出力トークンで返されます。このメソッドは、そのストリームの対応と機能的に同じです。
Note that privacy can only be applied through the wrap call.
プライバシーが唯一のラップ呼び出して適用することができます。
Since some application-level protocols may wish to use tokens emitted by getMIC to provide "secure framing", implementations should support derivation of MICs from zero-length messages.
いくつかのアプリケーションレベルのプロトコルは、「セキュアフレーミング」を提供するのgetMICによって放出されたトークンを使用することを望むかもしれないので、実装が長さゼロのメッセージからのMICの派生をサポートしなければなりません。
Parameters:
パラメーター:
inMsg: Message over which to generate MIC.
inMsg:MICを生成するオーバーメッセージ。
offset: The offset within the inMsg where the token begins.
オフセット:トークンが始まるinMsg内のオフセット。
len: The length of the token within the inMsg (starting at the offset).
LEN:inMsg内のトークンの長さ(オフセットから始まります)。
msgProp: Instance of MessageProp that is used by the application to set the desired QOP. Set the desired QOP to 0 in msgProp to request the default QOP. Alternatively, pass in "null" for msgProp to request default QOP.
msgProp:所望のQOPを設定するためにアプリケーションによって使用されるMessagePropのインスタンス。デフォルトのQOPを要求するために、msgPropに0に必要なQOPを設定します。 msgPropは、デフォルトのQOPを要求するために別の方法として、「ヌル」を渡します。
public void getMIC(InputStream inStream, OutputStream outStream, MessageProp msgProp) throws GSSException
公共のボイドのgetMIC(、InputStreamであるinStream、OutputStreamのOUTSTREAM、MessageProp msgProp)がてGSSExceptionをスローします
Produces a token containing a cryptographic MIC for the supplied message, for transfer to the peer application. Unlike wrap, which encapsulates the user message in the returned token, only the message MIC is produced in the output token. This method is identical in functionality to its byte array counterpart.
ピアアプリケーションに転送するため、供給されたメッセージの暗号化MICを含むトークンを生成します。返されたトークン内のユーザメッセージをカプセル化し、ラップとは異なり、メッセージのみのMICは、出力トークンで生成されます。このメソッドは、バイト配列の対応と機能的に同じです。
Note that privacy can only be applied through the wrap call.
プライバシーが唯一のラップ呼び出して適用することができます。
Since some application-level protocols may wish to use tokens emitted by getMIC to provide "secure framing", implementations should support derivation of MICs from zero-length messages.
いくつかのアプリケーションレベルのプロトコルは、「セキュアフレーミング」を提供するのgetMICによって放出されたトークンを使用することを望むかもしれないので、実装が長さゼロのメッセージからのMICの派生をサポートしなければなりません。
Parameters:
パラメーター:
inStream: Input stream containing the message over which to generate MIC.
あるinStream:MICを生成する以上のメッセージを含む入力ストリーム。
outStream: Output stream to which to write the GSS-API output token.
OUTSTREAM:GSS-API出力トークンを書き込むへの出力ストリーム。
msgProp: Instance of MessageProp that is used by the application to set the desired QOP. Set the desired QOP to 0 in msgProp to request the default QOP. Alternatively, pass in "null" for msgProp to request default QOP.
msgProp:所望のQOPを設定するためにアプリケーションによって使用されるMessagePropのインスタンス。デフォルトのQOPを要求するために、msgPropに0に必要なQOPを設定します。 msgPropは、デフォルトのQOPを要求するために別の方法として、「ヌル」を渡します。
public void verifyMIC(byte[] inTok, int tokOffset, int tokLen, byte[] inMsg, int msgOffset, int msgLen, MessageProp msgProp) throws GSSException
公共のボイドたverifyMIC(バイト[] inTok、int型tokOffset、int型tokLen、バイト[] inMsg、int型msgOffset、int型さmsglen、MessageProp msgProp)はてGSSExceptionをスローします
Verifies the cryptographic MIC, contained in the token parameter, over the supplied message. This method is equivalent in functionality to its stream counterpart.
供給されたメッセージ上トークンパラメータに含まれる暗号化MICを、検証します。このメソッドは、そのストリームの対応と機能的に同等です。
The MessageProp object is instantiated by the application and is used by the underlying mechanism to return information to the caller such as the QOP indicating the strength of protection that was applied to the message and other supplementary message state information.
MessagePropオブジェクトは、アプリケーションによってインスタンス化され、そのようなメッセージや他の補助メッセージの状態情報に適用された保護の強さを示すQOPとして発信者に情報を返すために、基礎となるメカニズムによって使用されます。
Since some application-level protocols may wish to use tokens emitted by getMIC to provide "secure framing", implementations should support the calculation and verification of MICs over zero-length messages.
いくつかのアプリケーションレベルのプロトコルは、「セキュアフレーミング」を提供するのgetMICによって放出されたトークンを使用することを望むかもしれないので、実装が長さゼロのメッセージ上のMICの計算および検証をサポートしなければなりません。
Parameters:
パラメーター:
inTok: Token generated by peer's getMIC method.
inTok:トークンは、ピアのgetMICメソッドによって生成されました。
tokOffset: The offset within the inTok where the token begins.
tokOffset:トークンが始まるinTok内のオフセット。
tokLen: The length of the token within the inTok (starting at the offset).
tokLen:inTok内のトークンの長さ(オフセットから始まります)。
inMsg: Application message over which to verify the cryptographic MIC.
inMsgは:オーバーアプリケーションメッセージは暗号化MICを検証します。
msgOffset: The offset within the inMsg where the message begins.
msgOffset:メッセージが始まるinMsg内のオフセット。
msgLen: The length of the message within the inMsg (starting at the offset).
さmsglen:inMsg内のメッセージの長さ(オフセットから始まります)。
msgProp: Upon return from the method, this object will contain the applied QOP and supplementary information, described in section 5.12.3, stating whether the token was a duplicate, old, out of sequence, or arriving after a gap. The confidentiality state will be set to "false".
msgProp:メソッドから戻ると、このオブジェクトは、トークンが重複し、古い、順序が狂って、あるいはギャップの後に到着したかどうかを述べ、セクション5.12.3で説明適用QOPと補足情報を、含まれています。機密性の状態は、「偽」に設定されます。
public void verifyMIC(InputStream tokStream, InputStream msgStream, MessageProp msgProp) throws GSSException
公共のボイドたverifyMIC(のInputStream tokStream、のInputStream msgStream、MessageProp msgProp)がてGSSExceptionをスローします
Verifies the cryptographic MIC, contained in the token parameter, over the supplied message. This method is equivalent in functionality to its byte array counterpart.
供給されたメッセージ上トークンパラメータに含まれる暗号化MICを、検証します。このメソッドは、バイト配列の対応と機能的に同等です。
The MessageProp object is instantiated by the application and is used by the underlying mechanism to return information to the caller such as the QOP indicating the strength of protection that was applied to the message and other supplementary message state information.
MessagePropオブジェクトは、アプリケーションによってインスタンス化され、そのようなメッセージや他の補助メッセージの状態情報に適用された保護の強さを示すQOPとして発信者に情報を返すために、基礎となるメカニズムによって使用されます。
Since some application-level protocols may wish to use tokens emitted by getMIC to provide "secure framing", implementations should support the calculation and verification of MICs over zero-length messages.
いくつかのアプリケーションレベルのプロトコルは、「セキュアフレーミング」を提供するのgetMICによって放出されたトークンを使用することを望むかもしれないので、実装が長さゼロのメッセージ上のMICの計算および検証をサポートしなければなりません。
Parameters:
パラメーター:
tokStream: Input stream containing the token generated by the peer's getMIC method.
tokStream:ピアのgetMICメソッドによって生成されたトークンを含む入力ストリーム。
msgStream: Input stream containing the application message over which to verify the cryptographic MIC.
msgStream:暗号化MICを検証するためにオーバーアプリケーションメッセージを含む入力ストリーム。
msgProp: Upon return from the method, this object will contain the applied QOP and supplementary information, described in section 5.12.3, stating whether the token was a duplicate, old, out of sequence, or arriving after a gap. The confidentiality state will be set to "false".
msgProp:メソッドから戻ると、このオブジェクトは、トークンが重複し、古い、順序が狂って、あるいはギャップの後に到着したかどうかを述べ、セクション5.12.3で説明適用QOPと補足情報を、含まれています。機密性の状態は、「偽」に設定されます。
public byte[] export() throws GSSException
公共バイト[]輸出は()てGSSExceptionをスローします
Provided to support the sharing of work between multiple processes. This routine will typically be used by the context acceptor, in an application where a single process receives incoming connection requests and accepts security contexts over them, then passes the established context to one or more other processes for message exchange.
複数のプロセス間での作業の共有をサポートするために提供。このルーチンは、典型的には、1つのプロセスが着信接続要求を受信し、その上にセキュリティコンテキストを受け入れ、その後メッセージ交換のための1つまたは複数の他のプロセスに確立されたコンテキストを通過するアプリケーションで、コンテキストアクセプタで使用されるであろう。
This method deactivates the security context and creates an inter-process token which, when passed to the byte array constructor of the GSSContext interface in another process, will re-activate the context in the second process. Only a single instantiation of a given context may be active at any one time; a subsequent attempt by a context exporter to access the exported security context will fail.
この方法は、セキュリティコンテキストを非アクティブと、別のプロセスでGSSContextのインターフェイスのバイト配列コンストラクタに渡されたとき、第二の方法でコンテキストを再活性化するプロセス間トークンを作成します。所与のコンテキストの単一のインスタンスは、任意の一時点でアクティブであってもよいです。エクスポートされたセキュリティコンテキストが失敗しますアクセスするためのコンテキスト輸出国によるその後の試み。
The implementation may constrain the set of processes by which the inter-process token may be imported, either as a function of local security policy, or as a result of implementation decisions. For example, some implementations may constrain contexts to be passed only between processes that run under the same account, or which are part of the same process group.
実装は、ローカルセキュリティポリシーの関数として、または実装の決定の結果としてのいずれかで、プロセス間トークンをインポートすることができることにより、プロセスの集合を制約することができます。例えば、いくつかの実装は、同じアカウントで実行されるプロセス間で渡されるコンテキストを制約する、または同一のプロセスグループの一部であることができます。
The inter-process token may contain security-sensitive information (for example, cryptographic keys). While mechanisms are encouraged to either avoid placing such sensitive information within inter-process tokens or to encrypt the token before returning it to the application, in a typical GSS-API implementation, this may not be possible. Thus, the application must take care to protect the inter-process token, and ensure that any process to which the token is transferred is trustworthy.
プロセス間トークンは、セキュリティに敏感な情報(例えば、暗号鍵)を含んでいてもよいです。メカニズムはプロセス間トークン内のそのような機密情報を確定回避するか、またはアプリケーションに戻す前に、トークンを暗号化することが奨励されているが、典型的なGSS-APIの実装では、これは可能ではないかもしれません。したがって、アプリケーションはプロセス間トークンを保護するために世話をし、トークンが転送されている任意のプロセスが信頼できることを確認する必要があります。
public void requestMutualAuth(boolean state) throws GSSException
公共ボイドrequestMutualAuth(ブール状態は)てGSSExceptionをスローします
Sets the request state of the mutual authentication flag for the context. This method is only valid before the context creation process begins and only for the initiator.
コンテキストの相互認証フラグの要求状態を設定します。コンテキストの作成プロセスが開始され、唯一のイニシエータの前に、この方法でのみ有効です。
Parameters:
パラメーター:
state: Boolean representing if mutual authentication should be requested during context establishment.
状態:相互認証は、コンテキスト確立時に要求するかどうブール表します。
public void requestReplayDet(boolean state) throws GSSException
公共ボイドrequestReplayDet(ブール状態は)てGSSExceptionをスローします
Sets the request state of the replay detection service for the context. This method is only valid before the context creation process begins and only for the initiator.
コンテキストのリプレイ検出サービスの要求状態を設定します。コンテキストの作成プロセスが開始され、唯一のイニシエータの前に、この方法でのみ有効です。
Parameters:
パラメーター:
state: Boolean representing if replay detection is desired over the established context.
状態:リプレイ検出が確立されたコンテキスト上に所望される場合にブール値を表します。
public void requestSequenceDet(boolean state) throws GSSException
公共ボイドrequestSequenceDet(ブール状態は)てGSSExceptionをスローします
Sets the request state for the sequence checking service of the context. This method is only valid before the context creation process begins and only for the initiator.
コンテキストのサービスをチェックするシーケンスのための要求状態を設定します。コンテキストの作成プロセスが開始され、唯一のイニシエータの前に、この方法でのみ有効です。
Parameters:
パラメーター:
state: Boolean representing if sequence detection is desired over the established context.
状態:シーケンス検出が確立されたコンテキスト上に所望される場合にブール値を表します。
public void requestCredDeleg(boolean state) throws GSSException
公共のボイドrequestCredDeleg(ブール状態は)てGSSExceptionをスローします
Sets the request state for the credential delegation flag for the context. This method is only valid before the context creation process begins and only for the initiator.
コンテキストの資格委任フラグの要求状態を設定します。コンテキストの作成プロセスが開始され、唯一のイニシエータの前に、この方法でのみ有効です。
Parameters:
パラメーター:
state: Boolean representing if credential delegation is desired.
状態:ブール資格の委譲が望まれる場合に表します。
public void requestAnonymity(boolean state) throws GSSException
公共ボイドrequestAnonymity(ブール状態は)てGSSExceptionをスローします
Requests anonymous support over the context. This method is only valid before the context creation process begins and only for the initiator.
文脈を超える匿名の支援を要求します。コンテキストの作成プロセスが開始され、唯一のイニシエータの前に、この方法でのみ有効です。
Parameters:
パラメーター:
state: Boolean representing if anonymity support is requested.
状態:匿名のサポートが要求された場合、ブールを表します。
public void requestConf(boolean state) throws GSSException
公共ボイドrequestConf(ブール状態は)てGSSExceptionをスローします
Requests that confidentiality service be available over the context. This method is only valid before the context creation process begins and only for the initiator.
機密性サービスは、コンテキスト上で利用することを要求します。コンテキストの作成プロセスが開始され、唯一のイニシエータの前に、この方法でのみ有効です。
Parameters:
パラメーター:
state: Boolean indicating if confidentiality services are to be requested for the context.
状態:機密性サービスは、コンテキストのために要求される場合にブールを示します。
public void requestInteg(boolean state) throws GSSException
公共のボイドrequestInteg(ブール状態は)てGSSExceptionをスローします
Requests that integrity services be available over the context. This method is only valid before the context creation process begins and only for the initiator.
整合性サービスは、文脈上で利用することを要求します。コンテキストの作成プロセスが開始され、唯一のイニシエータの前に、この方法でのみ有効です。
Parameters:
パラメーター:
state: Boolean indicating if integrity services are to be requested for the context.
状態:整合性サービスは、コンテキストのために要求される場合にブールを示します。
public void requestLifetime(int lifetime) throws GSSException
公共ボイドrequestLifetime(int型の寿命は)てGSSExceptionをスローします
Sets the desired lifetime for the context in seconds. This method is only valid before the context creation process begins and only for the initiator. Use GSSContext.INDEFINITE_LIFETIME and GSSContext.DEFAULT_LIFETIME to request indefinite or default context lifetime.
秒単位のコンテキストのための所望の寿命を設定します。コンテキストの作成プロセスが開始され、唯一のイニシエータの前に、この方法でのみ有効です。不定またはデフォルトコンテキストの寿命を要求するGSSContext.INDEFINITE_LIFETIMEとGSSContext.DEFAULT_LIFETIMEを使用してください。
Parameters:
パラメーター:
lifetime: The desired context lifetime in seconds.
生涯:秒で所望のコンテクスト寿命。
public void setChannelBinding(ChannelBinding cb) throws GSSException
公共ボイドsetChannelBinding(でChannelBinding CBは)てGSSExceptionをスローします
Sets the channel bindings to be used during context establishment. This method is only valid before the context creation process begins.
コンテキストが確立しているときに使用するチャネルバインディングが設定します。このメソッドは、コンテキストの作成プロセスが開始される前にのみ有効です。
Parameters:
パラメーター:
cb: Channel bindings to be used.
CB:チャネルバインディングが使用されます。
public boolean getCredDelegState()
パブリックブールgetCredDelegState()
Returns the state of the delegated credentials for the context. When issued before context establishment is completed or when the isProtReady method returns "false", it returns the desired state; otherwise, it will indicate the actual state over the established context.
コンテキストの委任資格証明書の状態を返します。コンテキストの確立が完了しているかisProtReady方法は「偽」を返すとき、それが所望の状態を返す前に発行された場合。それ以外の場合は、確立されたコンテキスト上の実際の状態を示します。
public boolean getMutualAuthState()
パブリックブールgetMutualAuthState()
Returns the state of the mutual authentication option for the context. When issued before context establishment completes or when the isProtReady method returns "false", it returns the desired state; otherwise, it will indicate the actual state over the established context.
コンテキストの相互認証オプションの状態を返します。コンテキストの確立前に発行されたときに完了またはisProtReady方法は「偽」を返すとき、それは望ましい状態を返します。それ以外の場合は、確立されたコンテキスト上の実際の状態を示します。
public boolean getReplayDetState()
パブリックブールgetReplayDetState()
Returns the state of the replay detection option for the context. When issued before context establishment completes or when the isProtReady method returns "false", it returns the desired state; otherwise, it will indicate the actual state over the established context.
コンテキストのリプレイ検出オプションの状態を返します。コンテキストの確立前に発行されたときに完了またはisProtReady方法は「偽」を返すとき、それは望ましい状態を返します。それ以外の場合は、確立されたコンテキスト上の実際の状態を示します。
public boolean getSequenceDetState()
パブリックブールgetSequenceDetState()
Returns the state of the sequence detection option for the context. When issued before context establishment completes or when the isProtReady method returns "false", it returns the desired state; otherwise, it will indicate the actual state over the established context.
コンテキストの配列検出オプションの状態を返します。コンテキストの確立前に発行されたときに完了またはisProtReady方法は「偽」を返すとき、それは望ましい状態を返します。それ以外の場合は、確立されたコンテキスト上の実際の状態を示します。
public boolean getAnonymityState()
パブリックブールgetAnonymityState()
Returns "true" if this is an anonymous context. When issued before context establishment completes or when the isProtReady method returns "false", it returns the desired state; otherwise, it will indicate the actual state over the established context.
これは匿名の文脈であれば「真」を返します。コンテキストの確立前に発行されたときに完了またはisProtReady方法は「偽」を返すとき、それは望ましい状態を返します。それ以外の場合は、確立されたコンテキスト上の実際の状態を示します。
public boolean isTransferable() throws GSSException
パブリックブールisTransferable()てGSSExceptionをスローします
Returns "true" if the context is transferable to other processes through the use of the export method. This call is only valid on fully established contexts.
コンテキストは、輸出法を使用して他のプロセスに転送された場合に「真」を返します。この呼び出しは完全に確立コンテキストにのみ有効です。
public boolean isProtReady()
パブリックブールisProtReady()
Returns "true" if the per-message operations can be applied over the context. Some mechanisms may allow the usage of per-message operations before the context is fully established. This will also indicate that the get methods will return actual context state characteristics instead of the desired ones.
メッセージごとの操作が文脈上に適用することができる場合は「真」を返します。コンテキストが完全に確立される前に、いくつかのメカニズムは、メッセージごとの操作の使用を可能にすることができます。また、これはgetメソッドは、実際のコンテキスト状態特性の代わりに、必要なものを返すことを示します。
public boolean getConfState()
パブリックブールgetConfState()
Returns the confidentiality service state over the context. When issued before context establishment completes or when the isProtReady method returns "false", it returns the desired state; otherwise, it will indicate the actual state over the established context.
文脈上の機密性サービスの状態を返します。コンテキストの確立前に発行されたときに完了またはisProtReady方法は「偽」を返すとき、それは望ましい状態を返します。それ以外の場合は、確立されたコンテキスト上の実際の状態を示します。
public boolean getIntegState()
パブリックブールgetIntegState()
Returns the integrity service state over the context. When issued before context establishment completes or when the isProtReady method returns "false", it returns the desired state; otherwise, it will indicate the actual state over the established context.
文脈上の整合性サービスの状態を返します。コンテキストの確立前に発行されたときに完了またはisProtReady方法は「偽」を返すとき、それは望ましい状態を返します。それ以外の場合は、確立されたコンテキスト上の実際の状態を示します。
public int getLifetime()
公共int型getLifetime()
Returns the context lifetime in seconds. When issued before context establishment completes or when the isProtReady method returns "false", it returns the desired lifetime; otherwise, it will indicate the remaining lifetime for the context.
秒単位のコンテキスト寿命を返します。コンテキストの確立が完了またはisProtReady方法は「偽」を返すとき、それは所望の寿命を返す前に発行された場合。それ以外の場合は、コンテキストの残りの寿命を示します。
public GSSName getSrcName() throws GSSException
パブリックたGSSName getSrcName()てGSSExceptionをスローします
Returns the name of the context initiator. This call is valid only after the context is fully established or the isProtReady method returns "true". It is guaranteed to return an MN.
コンテキストイニシエータの名前を返します。この呼び出しは、コンテキストが完全に確立されるかisProtReady方法が「真」を返した後にのみ有効です。 MNを返すことが保証されます。
public GSSName getTargName() throws GSSException
パブリックたGSSName getTargName()てGSSExceptionをスローします
Returns the name of the context target (acceptor). This call is valid only after the context is fully established or the isProtReady method returns "true". It is guaranteed to return an MN.
コンテキストターゲット(アクセプター)の名前を返します。この呼び出しは、コンテキストが完全に確立されるかisProtReady方法が「真」を返した後にのみ有効です。 MNを返すことが保証されます。
public Oid getMech() throws GSSException
公共のOid getMech()てGSSExceptionをスローします
Returns the mechanism oid for this context. This method may be called before the context is fully established, but the mechanism returned may change on successive calls in negotiated mechanism case.
このコンテキストのメカニズムのOIDを返します。コンテキストが完全に確立される前にこのメソッドが呼び出されますが、返されたメカニズムは、交渉さ機構ケース内の連続通話に変更されることがあります。
public GSSCredential getDelegCred() throws GSSException
公共GSSCredentialのgetDelegCred()てGSSExceptionをスローします
Returns the delegated credential object on the acceptor's side. To check for availability of delegated credentials call getDelegCredState. This call is only valid on fully established contexts.
アクセプター側の委任資格情報オブジェクトを返します。委任資格情報の可用性をチェックするには、getDelegCredStateを呼び出します。この呼び出しは完全に確立コンテキストにのみ有効です。
public boolean isInitiator() throws GSSException
パブリックブールisInitiator()てGSSExceptionをスローします
Returns "true" if this is the initiator of the context. This call is only valid after the context creation process has started.
これは文脈のイニシエータである場合は「真」を返します。この呼び出しは、コンテキストの作成プロセスが開始された後にのみ有効です。
This is a utility class used within the per-message GSSContext methods to convey per-message properties.
これは、メッセージごとの特性を伝えるために、メッセージごとのGSSContextのメソッド内で使用されるユーティリティクラスです。
When used with the GSSContext interface's wrap and getMIC methods, an instance of this class is used to indicate the desired QOP and to request if confidentiality services are to be applied to caller supplied data (wrap only). To request default QOP, the value of 0 should be used for QOP.
GSSContextのインターフェイスのラップメソッドとgetMICメソッドで使用される場合、機密性サービスが供給されたデータを呼び出し元に適用される場合、このクラスのインスタンスは、所望のQOPを示すために、要求するために使用される(のみラップ)。デフォルトのQOPを要求するには、0の値は、QOPのために使用すべきです。
When used with the unwrap and verifyMIC methods of the GSSContext interface, an instance of this class will be used to indicate the applied QOP and confidentiality services over the supplied message. In the case of verifyMIC, the confidentiality state will always be "false". Upon return from these methods, this object will also contain any supplementary status values applicable to the processed token. The supplementary status values can indicate old tokens, out of sequence tokens, gap tokens, or duplicate tokens.
GSSContextのインターフェースのアンラップとたverifyMIC方法で使用される場合、このクラスのインスタンスは、供給されたメッセージ上に塗布QOPと機密性サービスを示すために使用されるであろう。たverifyMICの場合には、機密性状態は常に「偽」になります。これらのメソッドから戻ると、このオブジェクトは、処理されたトークンに適用される任意の補助的なステータス値が含まれます。補足ステータス値は、シーケンス・トークン、ギャップトークン、または重複したトークンのうち、古いトークンを示すことができます。
public MessageProp(boolean privState)
公共MessageProp(ブールprivState)
Constructor that sets QOP to 0 indicating that the default QOP is requested.
デフォルトのQOPを要求されていることを示す0にQOPを設定しますコンストラクタ。
Parameters:
パラメーター:
privState: The desired privacy state. "true" for privacy and "false" for integrity only.
privState:希望プライバシ状態。プライバシーのための「真」とだけ整合性のための「偽」。
public MessageProp(int qop, boolean privState)
公共MessageProp(int型QOP、ブールprivState)
Constructor that sets the values for the qop and privacy state.
QOPとプライバシ状態の値を設定するコンストラクタです。
Parameters:
パラメーター:
qop: The desired QOP. Use 0 to request a default QOP.
QOP:希望QOP。デフォルトのQOPを要求するために0を使用します。
privState: The desired privacy state. "true" for privacy and "false" for integrity only.
privState:希望プライバシ状態。プライバシーのための「真」とだけ整合性のための「偽」。
public int getQOP()
公共int型getQOP()
Retrieves the QOP value.
QOP値を取得します。
public boolean getPrivacy()
パブリックブールgetPrivacy()
Retrieves the privacy state.
プライバシーの状態を取得します。
public int getMinorStatus()
公共int型getMinorStatus()
Retrieves the minor status that the underlying mechanism might have set.
基礎となるメカニズムが設定されている場合がありますマイナー状態を取得します。
public String getMinorString()
公共の文字列getMinorString()
Returns a string explaining the mechanism-specific error code. "null" will be returned when no mechanism error code has been set.
機構固有のエラーコードについて説明する文字列を返します。メカニズムのエラーコードが設定されていない場合、「ヌル」が返されます。
public void setQOP(int qopVal)
公共ボイドsetQOP(qopValをint型)
Sets the QOP value.
QOP値を設定します。
Parameters:
パラメーター:
qopVal: The QOP value to be set. Use 0 to request a default QOP value.
qopVal:QOP値を設定します。デフォルトのQOP値を要求するために0を使用します。
public void setPrivacy(boolean privState)
公共ボイドsetPrivacy(ブール状態PRIV)
Sets the privacy state.
プライバシ状態を設定します。
Parameters:
パラメーター:
privState: The privacy state to set.
privState:設定するプライバシ状態。
public boolean isDuplicateToken()
パブリックブールisDuplicateToken()
Returns "true" if this is a duplicate of an earlier token.
これは以前のトークンの複製である場合は「真」を返します。
public boolean isOldToken()
パブリックブールisOldToken()
Returns "true" if the token's validity period has expired.
トークンの有効期限が切れている場合は「true」を返します。
public boolean isUnseqToken()
パブリックブールisUnseqToken()
Returns "true" if a later token has already been processed.
後続のトークンがすでに処理されている場合は「true」を返します。
public boolean isGapToken()
パブリックブールisGapToken()
Returns "true" if an expected per-message token was not received.
予想されるメッセージごとのトークンが受信されなかった場合は「true」を返します。
public void setSupplementaryStates(boolean duplicate, boolean old, boolean unseq, boolean gap, int minorStatus, String minorString)
公共のボイドsetSupplementaryStates(ブール複製、ブール古い、ブールunseq、ブールギャップ、minorStatus、文字列minorStringをint型)
This method sets the state for the supplementary information flags and the minor status in MessageProp. It is not used by the application but by the GSS implementation to return this information to the caller of a per-message context method.
このメソッドは、補足情報フラグの状態とマイナー状態をMessagePropに設定します。メッセージごとのコンテキストメソッドの呼び出し側にこの情報を返すために、アプリケーションではなくGSS実装で使用されていません。
Parameters:
パラメーター:
duplicate: "true" if the token was a duplicate of an earlier token; otherwise, "false".
複製:「真の」トークンは以前のトークンの複製であった場合。そうでない場合は、「偽」。
old: "true" if the token's validity period has expired; otherwise, "false".
旧:トークンの有効期限が切れている場合は、「真」。そうでない場合は、「偽」。
unseq: "true" if a later token has already been processed; otherwise, "false".
unseq:後続のトークンがすでに処理されている場合は、「真」。そうでない場合は、「偽」。
gap: "true" if one or more predecessor tokens have not yet been successfully processed; otherwise, "false".
ギャップ:1つの以上の前身トークンがまだ正常に処理されていない場合は、「真」。そうでない場合は、「偽」。
minorStatus: The integer minor status code that the underlying mechanism wants to set.
minorStatus:基礎となるメカニズムは設定したい整数マイナー状態コード。
minorString: The textual representation of the minorStatus value.
minorString:minorStatus値のテキスト表現。
The GSS-API accommodates the concept of caller-provided channel binding information. Channel bindings are used to strengthen the quality with which peer entity authentication is provided during context establishment. They enable the GSS-API callers to bind the establishment of the security context to relevant characteristics like addresses or to application-specific data.
GSS-APIは、呼び出し側から提供されるチャネルバインディング情報の概念を収納します。チャネルバインディングは、ピアエンティティ認証コンテキスト確立中に提供される品質を強化するために使用されます。彼らは、アドレスのような、またはアプリケーション固有のデータに関連する特性にセキュリティコンテキストの確立をバインドするためにGSS-APIの呼び出し元を有効にします。
The caller initiating the security context must determine the appropriate channel binding values to set in the GSSContext object. The acceptor must provide an identical binding in order to validate that received tokens possess correct channel-related characteristics.
セキュリティコンテキストを開始する発呼者は、GSSContextのオブジェクトに設定する値を結合する適切なチャンネルを決定しなければなりません。アクセプターは、受信されたトークンが正しいチャネルに関連する特性を有する検証するために同一の結合を提供しなければなりません。
Use of channel bindings is optional in GSS-API. Since channel-binding information may be transmitted in context establishment tokens, applications should therefore not use confidential data as channel-binding components.
チャネルバインディングを使用すると、GSS-APIにはオプションです。チャネルバインディング情報はコンテキスト確立トークンに送信することができるので、アプリケーションは、従って、チャネル結合成分などの機密データを使用しないでください。
public ChannelBinding(InetAddress initAddr, InetAddress acceptAddr, byte[] appData)
公共でChannelBinding(InetAddressのinitAddr、InetAddressのacceptAddr、バイト[] APPDATA)
Create a ChannelBinding object with user-supplied address information and data. "null" values can be used for any fields that the application does not want to specify.
ユーザーが入力したアドレス情報とデータを使用して、ChannelBindingオブジェクトを作成します。 「ヌル」値は、アプリケーションが指定したくないすべてのフィールドに使用することができます。
Parameters:
パラメーター:
initAddr: The address of the context initiator. "null" value can be supplied to indicate that the application does not want to set this value.
initAddr:コンテキストイニシエータのアドレス。 「ヌル」値は、アプリケーションがこの値を設定したくないことを示すために供給することができます。
acceptAddr: The address of the context acceptor. "null" value can be supplied to indicate that the application does not want to set this value.
acceptAddr:コンテキストの受け入れのアドレス。 「ヌル」値は、アプリケーションがこの値を設定したくないことを示すために供給することができます。
appData: Application-supplied data to be used as part of the channel bindings. "null" value can be supplied to indicate that the application does not want to set this value.
APPDATA:アプリケーションが提供するデータは、チャネルバインディングの一部として使用されます。 「ヌル」値は、アプリケーションがこの値を設定したくないことを示すために供給することができます。
public ChannelBinding(byte[] appData)
公共でChannelBinding(バイト[] APPDATA)
Creates a ChannelBinding object without any addressing information.
任意のアドレッシング情報を使用しないでChannelBindingオブジェクトを作成します。
Parameters:
パラメーター:
appData: Application supplied data to be used as part of the channel bindings.
APPDATA:アプリケーションは、チャネルバインディングの一部として使用されるデータを供給されます。
public InetAddress getInitiatorAddress()
公共のInetAddress getInitiatorAddress()
Returns the initiator's address for this channel binding. "null" is returned if the address has not been set.
このチャネルバインディング用の起動側のアドレスを返します。アドレスが設定されていない場合は「ヌル」が返されます。
public InetAddress getAcceptorAddress()
公共のInetAddress getAcceptorAddress()
Returns the acceptor's address for this channel binding. "null" is returned if the address has not been set.
このチャネルバインディング用の受け入れ側のアドレスを返します。アドレスが設定されていない場合は「ヌル」が返されます。
public byte[] getApplicationData()
公共バイト[] GETAPPLICATIONDATA()
Returns application data being used as part of the ChannelBinding. "null" is returned if no application data has been specified for the channel binding.
でChannelBindingの一部として使用されているアプリケーションのデータを返します。何のアプリケーションデータをチャネルバインディング用に指定されていない場合、「ヌル」が返されます。
public boolean equals(Object obj)
パブリックブールのequals(オブジェクトobj)
Returns "true" if two channel bindings match. (Note that the Java language specification requires that two objects that are equal according to the equals(Object) method must return the same integer result when the hashCode() method is called on them.)
2つのチャネルバインディングが一致した場合に「真」を返します。 (Java言語仕様では、ハッシュコード()メソッドは、それらの上に呼び出されたときのequals(Object)メソッドに従って等しい2つのオブジェクトが同じ整数の結果を返さなければならないことを要求することに注意してください。)
Parameters:
パラメーター:
obj: Another channel binding with which to compare.
OBJ:別のチャネルは、比較するためにどのとの結合します。
This class represents Universal Object Identifiers (Oids) and their associated operations.
このクラスは、ユニバーサル・オブジェクト識別子(OID)とそれに関連付けられた動作を表します。
Oids are hierarchically globally interpretable identifiers used within the GSS-API framework to identify mechanisms and name formats.
OIDは階層的機構と名前形式を識別するために、GSS-APIフレームワーク内で使用されるグローバルに解釈識別子です。
The structure and encoding of Oids is defined in ISOIEC-8824 and ISOIEC-8825. For example, the Oid representation of the Kerberos v5 mechanism is "1.2.840.113554.1.2.2".
OIDの構造とエンコーディングはISOIEC-8824及びISOIEC-8825で定義されています。例えば、ケルベロスV5機構のOID。表現は、「1.2.840.113554.1.2.2」です。
The GSSName name class contains public static Oid objects representing the standard name types defined in GSS-API.
たGSSName名クラスは、GSS-APIで定義された標準の名前型を表すのpublic staticのOidオブジェクトが含まれています。
public Oid(String strOid) throws GSSException
公共のOid(文字列strOidは)てGSSExceptionをスローします
Creates an Oid object from a string representation of its integer components (e.g., "1.2.840.113554.1.2.2").
その整数成分(例えば、「1.2.840.113554.1.2.2」)の文字列表現からのOidオブジェクトを作成します。
Parameters:
パラメーター:
strOid: The string representation for the oid.
ステロイド:OIDの文字列表現。
public Oid(InputStream derOid) throws GSSException
公共のOid(のInputStream derOidは)てGSSExceptionをスローします
Creates an Oid object from its DER encoding. This refers to the full encoding including tag and length. The structure and encoding of Oids is defined in ISOIEC-8824 and ISOIEC-8825. This method is identical in functionality to its byte array counterpart.
そのDERエンコーディングからのOidオブジェクトを作成します。これは、タグと長さを含む完全な符号化を指します。 OIDの構造とエンコーディングはISOIEC-8824及びISOIEC-8825で定義されています。このメソッドは、バイト配列の対応と機能的に同じです。
Parameters:
パラメーター:
derOid: Stream containing the DER-encoded oid.
derOid:ストリームは、DERでエンコードされたOIDを含みます。
public Oid(byte[] DEROid) throws GSSException
公共のOIDは、(バイト[] DEROid)てGSSExceptionをスローします
Creates an Oid object from its DER encoding. This refers to the full encoding including tag and length. The structure and encoding of Oids is defined in ISOIEC-8824 and ISOIEC-8825. This method is identical in functionality to its byte array counterpart.
そのDERエンコーディングからのOidオブジェクトを作成します。これは、タグと長さを含む完全な符号化を指します。 OIDの構造とエンコーディングはISOIEC-8824及びISOIEC-8825で定義されています。このメソッドは、バイト配列の対応と機能的に同じです。
Parameters:
パラメーター:
derOid: Byte array storing a DER-encoded oid.
derOid:DER符号化されたOIDを格納するバイト配列。
public String toString()
公共の文字列のtoString()
Returns a string representation of the oid's integer components in dot separated notation (e.g., "1.2.840.113554.1.2.2").
ドット内のOIDの整数部分の文字列表現は、表記を分離返し(例えば、「1.2.840.113554.1.2.2」)。
public boolean equals(Object Obj)
パブリックブールに等しい(オブジェクトOBJ)
Returns "true" if the two Oid objects represent the same oid value. (Note that the Java language specification [JLS] requires that two objects that are equal according to the equals(Object) method must return the same integer result when the hashCode() method is called on them.)
2つのOidオブジェクトが同じOID値を表す場合は「真」を返します。 (Java言語仕様[JLS]はハッシュコード()メソッドは、それらの上に呼び出されたときに対等に係る等しい2つのオブジェクト(Object)メソッドは同じ整数の結果を返さなければならないことを要求することに注意してください。)
Parameters:
パラメーター:
obj: Another Oid object with which to compare.
OBJ:比較対象の別のOidオブジェクトを。
public byte[] getDER()
公共バイト[] getDER()
Returns the full ASN.1 DER encoding for this oid object, which includes the tag and length.
タグと長さを含む、このOIDオブジェクトの完全なASN.1 DERエンコーディングを返します。
public boolean containedIn(Oid[] oids)
パブリックブールcontainedIn(OID []のOID)
A utility method to test if an Oid object is contained within the supplied Oid object array.
Oidオブジェクトが供給されたOIDオブジェクト配列内に含まれているかどうかをテストするユーティリティ方法。
Parameters:
パラメーター:
oids: An array of oids to search.
OID:検索するOIDの配列。
This exception is thrown whenever a fatal GSS-API error occurs including mechanism-specific errors. It may contain both, the major and minor, GSS-API status codes. The mechanism implementors are responsible for setting appropriate minor status codes when throwing this exception. Aside from delivering the numeric error code(s) to the caller, this class performs the mapping from their numeric values to textual representations. All Java GSS-API methods are declared throwing this exception.
致命的なGSS-APIエラーが機構固有のエラーを含む発生したときに、この例外がスローされます。これは、両方の、メジャーとマイナー、GSS-API状態コードが含まれていてもよいです。メカニズムの実装はこの例外をスローするときに適切なマイナー状態コードを設定するための責任があります。別に呼び出し側に数値エラーコード(単数または複数)を送達するから、このクラスは、テキスト表現にそれらの数値からのマッピングを行います。すべてのJava GSS-APIメソッドは、この例外をスローすると宣言しています。
All implementations are encouraged to use the Java internationalization techniques to provide local translations of the message strings.
すべての実装は、メッセージ文字列の局所的な翻訳を提供するために、Javaの国際化技術を使用することが奨励されています。
All valid major GSS-API error code values are declared as constants in this class.
すべての有効な主要なGSS-APIエラーコードの値は、このクラスの定数として宣言されています。
public static final int BAD_BINDINGS
public static final int型BAD_BINDINGS
Channel bindings mismatch error. The value of this constant is 1.
チャネルバインディングは、エラーがミスマッチ。この定数の値は1です。
public static final int BAD_MECH
public static final int型BAD_MECH
Unsupported mechanism requested error. The value of this constant is 2.
サポートされていないメカニズムがエラーを要求しました。この定数の値は2です。
public static final int BAD_NAME
public static final int型BAD_NAME
Invalid name provided error. The value of this constant is 3.
無効な名前は、エラーを提供します。この定数の値は3です。
public static final int BAD_NAMETYPE
public static final int型BAD_NAMETYPE
Name of unsupported type provided error. The value of this constant is 4.
エラーを提供し、サポートされていないタイプの名前。この定数の値は4です。
public static final int BAD_STATUS
public static final int型BAD_STATUS
Invalid status code error - this is the default status value. The value of this constant is 5.
無効なステータスコードのエラーが - これはデフォルトのステータス値です。この定数の値は5です。
public static final int BAD_MIC
public static final int型BAD_MIC
Token had invalid integrity check error. The value of this constant is 6.
トークンは、無効な整合性チェックエラーが発生しました。この定数の値は6です。
public static final int CONTEXT_EXPIRED
public static final int型CONTEXT_EXPIRED
Specified security context expired error. The value of this constant is 7.
指定されたセキュリティコンテキストがエラーを期限切れ。この定数の値は7です。
public static final int CREDENTIALS_EXPIRED
public static final int型CREDENTIALS_EXPIRED
Expired credentials detected error. The value of this constant is 8.
期限切れの資格情報には、エラーを検出しました。この定数の値は8です。
public static final int DEFECTIVE_CREDENTIAL
public static final int型DEFECTIVE_CREDENTIAL
Defective credential error. The value of this constant is 9.
欠陥のある資格エラー。この定数の値は9です。
public static final int DEFECTIVE_TOKEN
public static final int型DEFECTIVE_TOKEN
Defective token error. The value of this constant is 10.
欠陥のあるトークンエラー。この定数の値は10です。
public static final int FAILURE
public static final int型FAILURE
General failure, unspecified at GSS-API level. The value of this constant is 11.
一般的な故障、GSS-APIレベルに指定されていません。この定数の値は11です。
public static final int NO_CONTEXT
public static final int型NO_CONTEXT
Invalid security context error. The value of this constant is 12.
無効なセキュリティコンテキストエラー。この定数の値は12です。
public static final int NO_CRED
public static final int型NO_CRED
Invalid credentials error. The value of this constant is 13.
無効な資格情報のエラー。この定数の値は13です。
public static final int BAD_QOP
public static final int型BAD_QOP
Unsupported QOP value error. The value of this constant is 14.
サポートされていないQOP値エラー。この定数の値は14です。
public static final int UNAUTHORIZED
public static final int型不正
Operation unauthorized error. The value of this constant is 15.
操作権限のないエラー。この定数の値は15です。
public static final int UNAVAILABLE
public static final int型UNAVAILABLE
Operation unavailable error. The value of this constant is 16.
操作使用できないエラー。この定数の値は16です。
public static final int DUPLICATE_ELEMENT
public static final int型DUPLICATE_ELEMENT
Duplicate credential element requested error. The value of this constant is 17.
資格要素要求されたエラーを複製します。この定数の値は17です。
public static final int NAME_NOT_MN
public static final int型NAME_NOT_MN
Name contains multi-mechanism elements error. The value of this constant is 18.
名前は、マルチ機構部品の誤差が含まれています。この定数の値は18です。
public static final int DUPLICATE_TOKEN
public static final int型DUPLICATE_TOKEN
The token was a duplicate of an earlier token. This is contained in an exception only when detected during context establishment, in which case it is considered a fatal error. (Non-fatal supplementary codes are indicated via the MessageProp object.) The value of this constant is 19.
トークンは以前のトークンの複製です。これは、それが致命的なエラーと考えられる場合にはコンテキスト確立中に検出された唯一の例外に含まれています。 (非致命的な補足コードはMessagePropオブジェクトによって示されている。)この定数の値は19です。
public static final int OLD_TOKEN
public static final int型OLD_TOKEN
The token's validity period has expired. This is contained in an exception only when detected during context establishment, in which case it is considered a fatal error. (Non-fatal supplementary codes are indicated via the MessageProp object.) The value of this constant is 20.
トークンの有効期間が満了しています。これは、それが致命的なエラーと考えられる場合にはコンテキスト確立中に検出された唯一の例外に含まれています。 (非致命的な補足コードはMessagePropオブジェクトによって示されている。)この定数の値は20です。
public static final int UNSEQ_TOKEN
public static final int型UNSEQ_TOKEN
A later token has already been processed. This is contained in an exception only when detected during context establishment, in which case it is considered a fatal error. (Non-fatal supplementary codes are indicated via the MessageProp object.) The value of this constant is 21.
後にトークンがすでに処理されています。これは、それが致命的なエラーと考えられる場合にはコンテキスト確立中に検出された唯一の例外に含まれています。 (非致命的な補足コードはMessagePropオブジェクトによって示されている。)この定数の値は21です。
public static final int GAP_TOKEN
public static final int型GAP_TOKEN
An expected per-message token was not received. This is contained in an exception only when detected during context establishment, in which case it is considered a fatal error. (Non-fatal supplementary codes are indicated via the MessageProp object.) The value of this constant is 22.
予想されるメッセージごとのトークンが受信されませんでした。これは、それが致命的なエラーと考えられる場合にはコンテキスト確立中に検出された唯一の例外に含まれています。 (非致命的な補足コードはMessagePropオブジェクトによって示されている。)この定数の値は22です。
public GSSException(int majorCode)
公衆てGSSException(int型majorCode)
Creates a GSSException object with a specified major code.
指定されたメジャーコードを使用してGSSExceptionオブジェクトを作成します。
Parameters:
パラメーター:
majorCode: The GSS error code causing this exception to be thrown.
majorCode:この例外がスローされる原因となっGSSエラーコード。
public GSSException(int majorCode, int minorCode, String minorString)
公衆てGSSException(int型majorCode、int型minorCode、文字列minorString)
Creates a GSSException object with the specified major code, minor code, and minor code textual explanation. This constructor is to be used when the exception is originating from the security mechanism. It allows to specify the GSS code and the mechanism code.
指定されたメジャーコード、マイナーコード、マイナーコードのテキスト説明を使用してGSSExceptionオブジェクトを作成。このコンストラクタは、例外は、セキュリティ・メカニズムから発信されたときに使用されるべきです。これは、GSSコードと機構コードを指定することができます。
Parameters:
パラメーター:
majorCode: The GSS error code causing this exception to be thrown.
majorCode:この例外がスローされる原因となっGSSエラーコード。
minorCode: The mechanism error code causing this exception to be thrown.
minorCode:この例外がスローされる原因とメカニズムのエラーコード。
minorString: The textual explanation of the mechanism error code.
minorString:機構エラーコードのテキスト説明。
public int getMajor()
公共int型getMajor()
Returns the major code representing the GSS error code that caused this exception to be thrown.
この例外がスローされる原因となったGSSエラーコードを表す主要なコードを返します。
public int getMinor()
公共int型getMinor()
Returns the mechanism error code that caused this exception. The minor code is set by the underlying mechanism. Value of 0 indicates that mechanism error code is not set.
この例外の原因となっ機構エラーコードを返します。マイナーコードは、基礎となるメカニズムによって設定されています。 0の値は、機構エラーコードが設定されていないことを示しています。
public String getMajorString()
公共の文字列getMajorString()
Returns a string explaining the GSS major error code causing this exception to be thrown.
この例外がスローされる原因となっGSSメジャーエラーコードについて説明する文字列を返します。
public String getMinorString()
公共の文字列getMinorString()
Returns a string explaining the mechanism-specific error code. "null" will be returned when no mechanism error code has been set.
機構固有のエラーコードについて説明する文字列を返します。メカニズムのエラーコードが設定されていない場合、「ヌル」が返されます。
public void setMinor(int minorCode, String message)
公共ボイドsetMinor(minorCode、文字列のメッセージをint型)
Used internally by the GSS-API implementation and the underlying mechanisms to set the minor code and its textual representation.
マイナーコードとそのテキスト表現を設定するにはGSS-APIの実装と、基礎となるメカニズムによって内部的に使用されます。
Parameters:
パラメーター:
minorCode: The mechanism-specific error code.
minorCode:機構固有のエラーコード。
message: A textual explanation of the mechanism error code.
メッセージ:機構エラーコードのテキスト説明。
public String toString()
公共の文字列のtoString()
Returns a textual representation of both the major and minor status codes.
両方のメジャーおよびマイナー状態コードのテキスト表現を返します。
public String getMessage()
公共の文字列のgetMessage()
Returns a detailed message of this exception. Overrides Throwable.getMessage. It is customary in Java to use this method to obtain exception information.
この例外の詳細メッセージを返します。オーバーライドあとでThrowable.getMessage。これは、例外情報を取得するために、このメソッドを使用するためにJavaで通例です。
import org.ietf.jgss.*;
輸入org.ietf.jgssの*。;
/** * This is a partial sketch for a simple client program that acts * as a GSS context initiator. It illustrates how to use the Java * bindings for the GSS-API specified in * Generic Security Service API Version 2 : Java bindings * * * This code sketch assumes the existence of a GSS-API * implementation that supports the mechanism that it will need * and is present as a library package (org.ietf.jgss) either as * part of the standard JRE or in the CLASSPATH the application * specifies. */
public class SimpleClient {
パブリッククラスSimpleClient {
private String serviceName; // name of peer (i.e., server) private GSSCredential clientCred = null; private GSSContext context = null; private Oid mech; // underlying mechanism to use
private GSSManager mgr = GSSManager.getInstance();
民間のGSSManager MGR = GSSManager.getInstance();
... ...
。。。 。。。
private void clientActions() { initializeGSS(); establishContext(); doCommunication(); }
/** * Acquire credentials for the client. */ private void initializeGSS() {
try {
{試します
clientCred = mgr.createCredential(null /*default princ*/, GSSCredential.INDEFINITE_LIFETIME /* max lifetime */, mech /* mechanism to use */,
GSSCredential.INITIATE_ONLY /* init context */);
print("GSSCredential created for " + cred.getName().toString()); print("Credential lifetime (sec)=" + cred.getRemainingLifetime()); } catch (GSSException e) { print("GSS-API error in credential acquisition: " + e.getMessage()); ... ... }
... ... }
。。。 。。。 }
/** * Does the security context establishment with the * server. */ private void establishContext() {
byte[] inToken = new byte[0]; byte[] outToken = null;
try {
{試します
GSSName peer = mgr.createName(serviceName, GSSName.NT_HOSTBASED_SERVICE); context = mgr.createContext(peer, mech, gssCred, GSSContext.INDEFINITE_LIFETIME/*lifetime*/);
// Will need to support confidentiality context.requestConf(true);
//は、機密性context.requestConf(true)をサポートする必要があります。
while (!context.isEstablished()) {
しばらく(!context.isEstablished()){
outToken = context.initSecContext(inToken, 0, inToken.length);
outToken = context.initSecContext(inToken、0、inToken.length)。
if (outToken != null) writeGSSToken(outToken);
(!outToken = null)のwriteGSSToken(outToken)であれば、
if (!context.isEstablished()) inToken = readGSSToken(); }
(もし!context.isEstablished())inToken = readGSSToken(); }
GSSName peer = context.getSrcName(); print("Security context established with " + peer + " using underlying mechanism " + mech.toString()); } catch (GSSException e) { print("GSS-API error during context establishment: " + e.getMessage()); ... ... }
... ... }
。。。 。。。 }
/** * Sends some data to the server and reads back the * response. */ private void doCommunication() { byte[] inToken = null; byte[] outToken = null; byte[] buffer;
// Container for multiple input-output arguments to and // from the per-message routines (e.g., wrap/unwrap). MessageProp messgInfo = new MessageProp();
try {
{試します
/* * Now send some bytes to the server to be * processed. They will be integrity protected * but not encrypted for privacy. */
buffer = readFromFile();
バッファ= readFromFile()。
// Set privacy to "false" and use the default QOP messgInfo.setPrivacy(false);
//は「偽」にプライバシーを設定し、デフォルトのQOP messgInfo.setPrivacy(false)を使用します。
outToken = context.wrap(buffer, 0, buffer.length, messgInfo);
outToken = context.wrap(バッファ、0、buffer.length、messgInfo)。
writeGSSToken(outToken);
writeGSSToken(outToken)。
/* * Now read the response from the server. */
inToken = readGSSToken(); buffer = context.unwrap(inToken, 0, inToken.length, messgInfo); // All ok if no exception was thrown!
GSSName peer = context.getSrcName();
たGSSNameピア= context.getSrcName()。
print("Message from " + peer.toString() + " arrived."); print("Was it encrypted? " + messgInfo.getPrivacy()); print("Duplicate Token? " + messgInfo.isDuplicateToken()); print("Old Token? " + messgInfo.isOldToken()); print("Unsequenced Token? " + messgInfo.isUnseqToken()); print("Gap Token? " + messgInfo.isGapToken());
... ...
。。。 。。。
} catch (GSSException e) { print("GSS-API error in per-message calls: " + e.getMessage()); ... ...
}キャッチ(てGSSException電子){プリント( "メッセージごとにGSS-APIエラーがコール:" + e.getMessage())。 ... ...
}
}
...
。。。
...
。。。
} // end of doCommunication method
} // doCommunication方法の終わり
... ...
。。。 。。。
} // end of class SimpleClient
クラスSimpleClientの} //終了
import org.ietf.jgss.*;
輸入org.ietf.jgssの*。;
/** * This is a partial sketch for a simple server program that acts * as a GSS context acceptor. It illustrates how to use the Java * bindings for the GSS-API specified in * Generic Security Service API Version 2 : Java bindings. * * This code sketch assumes the existence of a GSS-API * implementation that supports the mechanisms that it will need * and is present as a library package (org.ietf.jgss) either as * part of the standard JRE or in the CLASSPATH the application * specifies. */
import org.ietf.jgss.*;
輸入org.ietf.jgssの*。;
public class SimpleServer {
パブリッククラスSimpleServerと{
private String serviceName; private GSSName name; private GSSCredential cred;
private GSSManager mgr;
民間のGSSManager MGR。
... ...
。。。 。。。
/** * Wait for client connections, establish security contexts * and provide service. */ private void loop() {
... ...
。。。 。。。
mgr = GSSManager.getInstance();
MGR = GSSManager.getInstance()。
name = mgr.createName(serviceName, GSSName.NT_HOSTBASED_SERVICE);
名前= mgr.createName(serviceNameを、GSSName.NT_HOSTBASED_SERVICE)。
cred = mgr.createCredential(name, GSSCredential.INDEFINITE_LIFETIME, null, GSSCredential.ACCEPT_ONLY);
CRED = mgr.createCredential(名前、は、GSSCredential.INDEFINITE_LIFETIME、ヌル、GSSCredential.ACCEPT_ONLY)。
// Loop infinitely while (true) {
//ループ無限一方(TRUE){
Socket s = serverSock.accept();
ソケットS = serverSock.accept()。
// Start a new thread to serve this connection Thread serverThread = new ServerThread(s); serverThread.start();
} }
} }
/** * Inner class ServerThread whose run() method provides the * secure service to a connection. */
private class ServerThread extends Thread {
プライベートクラスServerThreadは{スレッドを拡張します
... ...
。。。 。。。
/** * Deals with the connection from one client. It also * handles all GSSException's thrown while talking to * this client. */ public void run() {
byte[] inToken = null; byte[] outToken = null; byte[] buffer;
GSSName peer;
たGSSNameピア。
// Container for multiple input-output arguments to // and from the per-message routines // (i.e., wrap/unwrap). MessageProp supplInfo = new MessageProp(); GSSContext secContext = null;
try {
{試します
// Now do the context establishment loop
//ここコンテキスト確立ループを行います
GSSContext context = mgr.createContext(cred);
GSSContextのコンテキスト= mgr.createContext(CRED)。
while (!context.isEstablished()) {
しばらく(!context.isEstablished()){
inToken = readGSSToken();
inToken readGSSToken =();
outToken = context.acceptSecContext(inToken, 0, inToken.length);
outToken = context.acceptSecContext(inToken、0、inToken.length)。
if (outToken != null) writeGSSToken(outToken);
(!outToken = null)のwriteGSSToken(outToken)であれば、
}
}
// SimpleServer wants confidentiality to be // available. Check for it. if (!context.getConfState()){ ... ... }
// SimpleServerとは//利用できるように機密性を望んでいます。それを確認してください。 (もし!context.getConfState()){...} ...
GSSName peer = context.getSrcName(); Oid mech = context.getMech(); print("Security context established with " + peer.toString() + " using underlying mechanism " + mech.toString() + " from Provider " + context.getProvider().getName());
// Now read the bytes sent by the client to be // processed. inToken = readGSSToken();
//今//処理されるように、クライアントによって送信されたバイトをお読みください。 inToken = readGSSToken()。
// Unwrap the message buffer = context.unwrap(inToken, 0, inToken.length, supplInfo); // All ok if no exception was thrown!
//メッセージ・バッファ= context.unwrap(inToken、0、inToken.length、supplInfo)をラップ解除。 //例外がスローされなかった場合は、すべてOK!
// Print other supplementary per-message status // information.
// //情報その他の補足メッセージごとの状態を表示します。
print("Message from " + peer.toString() + " arrived."); print("Was it encrypted? " + supplInfo.getPrivacy()); print("Duplicate Token? " + supplInfo.isDuplicateToken()); print("Old Token? " + supplInfo.isOldToken());
print("Unsequenced Token? " + supplInfo.isUnseqToken()); print("Gap Token? " + supplInfo.isGapToken());
/* * Now process the bytes and send back an * encrypted response. */
buffer = serverProcess(buffer);
バッファ= serverProcess(バッファ)
// Encipher it and send it across
//それを暗号化し、全体でそれを送信
supplInfo.setPrivacy(true); // privacy requested supplInfo.setQOP(0); // default QOP outToken = context.wrap(buffer, 0, buffer.length, supplInfo); writeGSSToken(outToken);
} catch (GSSException e) { print("GSS-API Error: " + e.getMessage()); // Alternatively, could call e.getMajorMessage() // and e.getMinorMessage() print("Abandoning security context.");
... ...
}
}
... ...
。。。 。。。
} // end of run method in ServerThread
ServerThreadでrunメソッドの} //終了
} // end of inner class ServerThread
内部クラスServerThreadの} //端
... ...
。。。 。。。
} // end of class SimpleServer
クラスSimpleServerとの} //終了
The Java language security model allows platform providers to have policy-based fine-grained access control over any resource that an application wants. When using a Java security manager (such as, but not limited to, the case of applets running in browsers) the application code is in a sandbox by default.
Java言語のセキュリティモデルは、プラットフォームプロバイダが、アプリケーションが必要とするすべてのリソースを超えるポリシーベースのファイングレイン・アクセス・コントロールを持つことができます。 (はなく、アプレットの場合は、ブラウザで実行されているに限定されるものなど)Javaセキュリティマネージャを使用する場合、アプリケーション・コードは、デフォルトでサンドボックスです。
Administrators of the platform JRE determine what permissions, if any, are to be given to source from different codebases. Thus, the administrator has to be aware of any special requirements that the GSS provider might have for system resources. For instance, a Kerberos provider might wish to make a network connection to the Key Distribution Center (KDC) to obtain initial credentials. This would not be allowed under the sandbox unless the administrator had granted permissions for this. Also, note that this granting and checking of permissions happens transparently to the application and is outside the scope of this document.
プラットフォームのJREの管理者権限が、もしあれば、異なるコードベースからソースに与えられることになっているかを決定します。このため、管理者はGSSプロバイダは、システムリソースを持っているかもしれない特別な要件を知っていなければなりません。例えば、ケルベロス・プロバイダは、初期の資格を取得するためにキー配布センター(KDC)へのネットワーク接続をしたいかもしれません。管理者は、このための権限を付与されていない限り、これは、サンドボックスの下で許可されません。また、アクセス権の付与このとチェックは、アプリケーションに透過的に行われ、この文書の範囲外であることに注意してください。
The Java language allows administrators to pre-configure a list of security service providers in the <JRE>/lib/security/java.security file. At runtime, the system approaches these providers in order of preference when looking for security related services. Applications have a means to modify this list through methods in the "Security" class in the "java.security" package. However, since these modifications would be visible in the entire Java Virtual Machine (JVM) and thus affect all code executing in it, this operation is not available in the sandbox and requires special permissions to perform. Thus, when a GSS application has special needs that are met by a particular security provider, it has two choices:
Java言語を使用すると、管理者は、<JRE> /lib/security/java.securityファイルのセキュリティサービスプロバイダのリストを事前に設定することができます。セキュリティ関連のサービスを探していたときに実行時に、システムは、優先順にこれらのプロバイダに近づきます。アプリケーションは、「java.security」パッケージの「セキュリティ」クラスのメソッドを通じて、このリストを変更する手段を持っています。これらの修飾は、全体のJava仮想マシン(JVM)に表示され、したがって、その中に実行されるすべてのコードに影響を与えるので、この操作は、サンドボックス内で利用可能ではなく、実行するために特別な許可を必要とします。 GSSアプリケーションは、特定のセキュリティプロバイダによって満たされている特別なニーズを持っている場合このように、それは2つの選択肢があります:
1) To install the provider on a JVM-wide basis using the java.security.Security class and then depend on the system to find the right provider automatically when the need arises. (This would require the application to be granted a "insertProvider SecurityPermission".)
1)java.security.Securityクラスを使用してJVM全体でプロバイダをインストールして、必要なときに自動的に右のプロバイダを見つけるために、システムに依存するように。 (これは、「insertProviderのsecurityPermission」付与するアプリケーションを必要とします。)
2) To pass an instance of the provider to the local instance of GSSManager so that only factory calls going through that GSSManager use the desired provider. (This would not require any permissions.)
2)のみ工場コールが所望のプロバイダを使用することのGSSManagerを通過するようにのGSSManagerのローカルインスタンスにプロバイダのインスタンスを渡すこと。 (これは任意の権限を必要としません。)
This proposed API leverages earlier work performed by the IETF's CAT WG as outlined in both RFC 2743 [GSSAPIv2-UPDATE] and RFC 2744 [GSSAPI-Cbind]. Many conceptual definitions, implementation directions, and explanations have been included from these documents.
両方のRFC 2743に概説されるように、この提案されたAPIは、IETFのCAT WGによって実行される以前の作業を活用[GSSAPIv2-UPDATE]およびRFC 2744 [GSSAPI-CBIND]。多くの概念の定義、実装方向、および説明は、これらの文書から含まれています。
We would like to thank Mike Eisler, Lin Ling, Ram Marti, Michael Saltz, and other members of Sun's development team for their helpful input, comments, and suggestions.
私たちは、彼らの役に立つ入力、コメント、および提案のためのマイク・アイスラー、リン・リング、ラムマルティ、マイケルSaltz、およびSunの開発チームの他のメンバーに感謝したいと思います。
We would also like to thank Joe Salowey, and Michael Smith for many insightful ideas and suggestions that have contributed to this document.
また、この文書に貢献してきた多くの洞察に満ちたアイデアや提案をジョー・Salowey、そしてマイケル・スミスに感謝したいと思います。
This document has following changes:
このドキュメントは、以下の変更があります。
1) Major GSS Status Code Constant Values
1)主なGSSステータスコード定数値
RFC 2853 listed all the GSS status code values in two different sections: section 4.12.1 defined numeric values for them, and section 6.8.1 defined them as static constants in the GSSException class without assigning any values. Due to an inconsistent ordering between these two sections, all of the GSS major status codes resulted in misalignment, and a subsequent disagreement between deployed implementations.
RFC 2853は、2つの異なるセクション内のすべてのGSSステータスコード値記載されている:それらはセクション4.12.1定義された数値を、セクション6.8.1は、任意の値を割り当てることなく、それらてGSSExceptionクラスの静的定数を定義しました。これら二つのセクション間の一貫性のない順序に、GSSの主要なすべてのステータスコードは、位置ズレが生じ、展開実装間、後続の不一致。
This document defines the numeric values of the GSS status codes in both sections, while maintaining the original ordering from section 6.8.1 of RFC 2853 [RFC2853], and obsoletes the GSS status code values defined in section 4.12.1. The relevant sections in this document are sections 5.12.1 and 7.8.1.
この文書は、RFC 2853 [RFC2853]のセクション6.8.1からの元の順序を維持しながら、両方のセクションでGSSステータスコードの数値を定義し、セクション4.12.1に定義されたGSSステータスコード値を時代遅れ。このドキュメントの関連セクションは、セクション5.12.1および7.8.1です。
2) GSS Credential Usage Constant Values
2)資格使用定数値のGSS
RFC 2853 section 6.3.2 defines static constants for the GSSCredential usage flags. However, the values of these constants were not defined anywhere in RFC 2853 [RFC2853].
RFC 2853のセクション6.3.2はGSSCredentialの利用フラグの静的定数を定義します。しかし、これらの定数の値は、RFC 2853 [RFC2853]で任意の場所に定義されていませんでした。
This document defines the credential usage values in section 7.3.2. The original ordering of these values from section 6.3.2 of RFC 2853 [RFC2853] is maintained.
このドキュメントは、セクション7.3.2に資格使用値を定義します。 RFC 2853 [RFC2853]のセクション6.3.2から、これらの値の元の順序が維持されます。
3) GSS Host-Based Service Name
3)GSSのホストベースのサービス名
RFC 2853 [RFC2853], section 6.2.2, defines the static constant for the GSS host-based service OID NT_HOSTBASED_SERVICE, using a deprecated OID value.
RFC 2853 [RFC2853]、セクション6.2.2は、非推奨のOID値を使用して、GSSホストベースのサービスOID NT_HOSTBASED_SERVICEの静的定数を定義します。
This document updates the NT_HOSTBASED_SERVICE OID value in section 7.2.2 to be consistent with the C-bindings in RFC 2744 [GSSAPI-Cbind].
この文書は、RFC 2744におけるC-バインディング[GSSAPI-CBIND]と一致することをセクション7.2.2にNT_HOSTBASED_SERVICE OID値を更新します。
[GSSAPI-Cbind] Wray, J., "Generic Security Service API Version 2 : C-bindings", RFC 2744, January 2000.
[GSSAPI-CBIND]レイ、J.、 "ジェネリックセキュリティサービスAPIバージョン2:C-バインディング"、RFC 2744、2000年1月。
[GSSAPIv2-UPDATE] Linn, J., "Generic Security Service Application Program Interface Version 2, Update 1", RFC 2743, January 2000.
[GSSAPIv2-UPDATE]リン、J.、 "ジェネリックセキュリティーサービス適用業務プログラムインタフェースバージョン2、アップデート1"、RFC 2743、2000年1月。
[RFC2025] Adams, C., "The Simple Public-Key GSS-API Mechanism (SPKM)", RFC 2025, October 1996.
[RFC2025]アダムス、C.、 "単純な公開鍵GSS-APIメカニズム(SPKM)"、RFC 2025、1996年10月。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2119]ブラドナーの、S.、 "要件レベルを示すためにRFCsにおける使用のためのキーワード"、BCP 14、RFC 2119、1997年3月。
[RFC2853] Kabat, J. and M. Upadhyay, "Generic Security Service API Version 2 : Java Bindings", RFC 2853, June 2000.
[RFC2853]カバット、J.とM. Upadhyay、 "一般的なセキュリティサービスAPIバージョン2:Javaのバインディング"、RFC 2853、2000年6月。
[RFC4121] Zhu, L., Jaganathan, K., and S. Hartman, "The Kerberos Version 5 Generic Security Service Application Program Interface (GSS-API) Mechanism: Version 2", RFC 4121, July 2005.
[RFC4121]朱、L.、Jaganathan、K.、およびS.ハートマン、 "Kerberosバージョン5の汎用セキュリティサービスアプリケーションプログラムインタフェース(GSS-API)メカニズム:バージョン2"、RFC 4121、2005年7月。
[JLS] Gosling, J., Joy, B., Steele, G., and G. Bracha "The Java Language Specification", Third Edition, http://java.sun.com/docs/books/jls/.
[JLS]ゴスリング、J.、喜び、B.、スティール、G.、およびG. Bracha "Java言語仕様"、第3版、http://java.sun.com/docs/books/jls/。
Authors' Addresses
著者のアドレス
Mayank D. Upadhyay Google Inc. 1600 Amphitheatre Parkway Mountain View, CA 94043 USA
Mayank D. Upadhyayグーグル株式会社1600アンフィシアターパークウェイマウンテンビュー、CA 94043 USA
EMail: m.d.upadhyay+ietf@gmail.com
メールアドレス:m.d.upadhyay+ietf@gmail.com
Seema Malkani ActivIdentity Corp. 6623 Dumbarton Circle Fremont, California 94555 USA
シーマMalkani ActivIdentity社6623ダンバートンサークル、フリーモント、カリフォルニア94555 USA
EMail: Seema.Malkani@gmail.com
メールアドレス:Seema.Malkani@gmail.com