[要約] RFC 5653は、Javaバインディングの更新版であり、Generic Security Service API(GSS-API)のバージョン2を提供します。このRFCの目的は、JavaプログラムでGSS-APIを使用するための標準的なインターフェースを提供することです。

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

ジェネリックセキュリティサービスAPIバージョン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.

Generic Security Services Application Program Interface(GSS-API)は、アプリケーションプログラマーに、さまざまな基礎となる暗号化メカニズムの上のセキュリティサービスへの均一なアクセスを提供します。このドキュメントでは、「ジェネリックセキュリティサービスAPIバージョン2:Java Bindings」(RFC 2853)で指定されているGSS-APIのJava Bindingsを更新します。このドキュメントは、転写エラーの識別と実装の経験に応じて、特定および漸進的な明確化と修正を行うことにより、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を使用すると、発信者アプリケーションがプリンシパルアイデンティティを認証し、ピアに権利を委任し、守秘義務や整合性などのセキュリティサービスを1人のセキュリティベースで適用できます。GSS-APIに対して定義されたセキュリティメカニズムの例は、「シンプルなパブリックキーGSS-APIメカニズム」(RFC 2025)および「Kerberosバージョン5ジェネリックセキュリティサービスアプリケーションプログラムインターフェイス(GSS-API)メカニズム:バージョン2」(RFC 41211)。

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.

Copyright(c)2009 IETF Trustおよび文書著者として特定された人。全著作権所有。

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 Trustの法的規定の対象となります。この文書に関するあなたの権利と制限を説明するので、これらの文書を注意深く確認してください。

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.

このドキュメントには、2008年11月10日までに公開または公開されたIETFドキュメントまたはIETFの寄付からの資料が含まれている場合があります。IETF標準プロセスの外。そのような資料の著作権を制御する人から適切なライセンスを取得せずに、このドキュメントはIETF標準プロセスの外側に変更されない場合があり、その派生作業は、ITF標準プロセスの外側で作成されない場合があります。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
        
1. Introduction
1. はじめに

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を使用すると、発信者アプリケーションがプリンシパルアイデンティティを認証し、ピアに権利を委任し、守秘義務や整合性などのセキュリティサービスを1人のセキュリティベースで適用できます。

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]の領域でワーキンググループ(WG)が行った作業を活用し、RFC 2744 [GSSAPI-CBIND]のCバインディングを活用します。適切な場合はいつでも、C-Bindingsドキュメント(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 Runtime Environment(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は、メカニズムのプラグ可能性をサポートするために、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プラットフォームの両方に精通していると想定されています。

2. Conventions and Licenses
2. 慣習とライセンス

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].

「必須」、「そうしない」、「必須」、「必要」、「しない」、「そうしない」、「そうではない」、「そうでない」、「推奨」、「5月」、および「オプション」は、[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.
*/
3.  GSS-API Operational Paradigm
        

"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:

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またはwrap)を呼び出して保護を適用し、結果のトークンを受信アプリケーションに送信します。受信者は、受信したトークン(およびGetMICによって保護されたデータの場合、添付のメッセージDATA)をGSSContextインターフェイスの対応するデコード方法(VerifyMicまたはUNWRAP)に渡して、保護を削除してデータを検証します。

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メソッドを使用してセキュリティコンテキストを無効にし、保持されているシステムまたは暗号化リソースをリリースします。アプリケーションの裁量で、単一の通信協会内で、複数のコンテキストを(連続または同時に)使用することもできます。

4. Additional Controls
4. 追加のコントロール

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オブジェクトの適切なMutatorメソッドを呼び出すことによって要求されます。コンテキストイニシエーターのみがコンテキストフラグを要求できます。

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.

リプレイの検出:メッセージ整合性サービスの提供に加えて、GSSContext GetMicとLapの操作を含む必要があります。メッセージ番号の情報を有効にして、メッセージが複製されているかどうかを検出して解除する必要があります。

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 Per-sessage操作(getMicおよびwrap)には、メッセージが順序付けられていないかどうかを検出するためにVerifyMicとUNWAPを有効にするためのメッセージシーケンス情報を含める必要があります。

Anonymous Authentication: The establishment of the security context should not reveal the initiator's identity to the context acceptor.

匿名認証:セキュリティコンテキストの確立は、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.

一部のメカニズムは、一部のサービスのサポートがオプションであり、メカニズムの実装者がそれを提供する必要はないことを指定する場合があります。これは、多くの場合、データ暗号化の使用に関する法的制限があるため、機密性サービスに最も一般的ですが、どのサービスにも適用される場合があります。このようなメカニズムは、イニシエーターがそのようなサービスを使用したいという欲求を示しているときに、コンテキスト確立中にアクセプターから開始者に少なくとも1つのトークンを送信するために必要です。。

4.1. Delegation
4.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メソッドを呼び出すことで取得できます。取得したGSSCREDENITIALオブジェクトを使用して、イニシエーターのエージェントまたは代表として後続のGSS-APIセキュリティコンテキストを開始できます。元のイニシエーターのアイデンティティが「A」であり、代表者のアイデンティティが「B」である場合、基礎となるメカニズムに応じて、委任された資格情報によって具体化されるアイデンティティは「A」または「Aのために作用する」のいずれかである場合があります。

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オブジェクトに代表団が望ましくないことを指示した場合、実装により委任が発生することを許可してはなりません。これは、メカニズムが要求されていなくてもサービスを有効にする可能性があるという一般的なルールの例外です。委任は、アプリケーションの明示的な要求でのみ提供される場合があります。

4.2. Mutual Authentication
4.2. 相互認証

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メソッドを「真の」パラメーターと呼び出すことにより、開始アプリケーションがこの相互認証サービスを要求できます。開始アプリケーションは、コンテキストアクセプターが自らを認証したかどうかについて通知されます。一部のメカニズムは相互認証をサポートしない場合があり、他のメカニズムは、開始アプリケーションが要求するかどうかにかかわらず、常に相互認証を実行する場合があることに注意してください。特に、リプレイまたはシーケンスメッセージの検出をサポートするために、いくつかのメカニズムによって相互認証が必要になる場合があり、そのようなメカニズムの場合、これらのサービスのいずれかのリクエストは自動的に相互認証を有効にします。

4.3. Replay and Out-of-Sequence Detection
4.3. リプレイとシーケンスの検出

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は、セキュリティコンテキストが確立されると、誤った順序のメッセージの検出を提供する場合があります。GSScontextインターフェイスのGetMICメソッドまたはラップメソッドを呼び出すことにより、いずれかのアプリケーションによってメッセージに適用され、ピアのGSScontextオブジェクトのverifymicまたはunwrapを呼び出すことにより、ピアアプリケーションによって検証されます。

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オブジェクトの検証方法に表示されます。

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」よりも古いトークンの受領により、メッセージプロップのインスタンスのイソルトークン方法が「true」を返すようになります。

4.4. Anonymous Authentication
4.4. 匿名認証

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クラスのアイソネングル方法を介して)、アクセプターの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オブジェクトとして定義されます。この名前が監査ログに表示される可能性があるため、匿名の名前の印刷可能な形式は匿名性を意味するように選択する必要があります。たとえば、文字列「<anonymous>」は、実装でサポートされている有効な印刷可能な名前が「<」から始まり、「>」で終わることができない場合、良い選択かもしれません。

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インターフェイスの等しい方法を使用し、オペランドの1つを匿名エンティティを表すGSSNAMEインスタンスである場合、メソッドは「false」を返す必要があります。

4.5. Confidentiality
4.5. 機密性

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が機密性サービスをサポートする場合、RAPメソッドを使用してアプリケーションメッセージを暗号化できます。メッセージは、ラップメソッドで使用されているMessagePropオブジェクトのSetPrivacyメソッドの制御下で、選択的に暗号化されます。

4.6. Inter-process Context Transfer
4.6. インタープロセスコンテキスト転送

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インターフェイスのISトランスファー可能な方法を呼び出すと、コンテキストオブジェクトが転送可能かどうかを示します。

4.7. The Use of Incomplete Contexts
4.7. 不完全なコンテキストの使用

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.

一部のメカニズムにより、コンテキスト確立プロセスが完了する前に、メッセージごとのサービスを使用することができます。たとえば、メカニズムには、Context Acceptorがラップまたは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を呼び出す前にこのメソッドを照会する必要があります。

5. Calling Conventions
5. 慣習を呼びます

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仕様は、メカニズムの実装にプロバイダーを使用することにより、これらの概念を活用します。

5.1. Package Name
5.1. パッケージ名

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」と呼ばれるパッケージにあります。このAPIを使用したいアプリケーションは、セクション8に示すようにこのパッケージ名をインポートする必要があります。

5.2. Provider Framework
5.2. プロバイダーフレームワーク

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 Security 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フレームワークを作成できます。

5.3. Integer Types
5.3. 整数タイプ

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全体で、ブール値が必要または返される場合は、「ブール」プリミティブジャバタイプが使用されます。

5.4. Opaque Data Types
5.4. 不透明なデータ型

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アレイには、ユーザーがサイズを簡単に決定できる長さフィールドが含まれています。この言語には、開発者がメモリをリリースし、バッファーの所有権の問題を簡素化する必要性を軽減する自動ゴミコレクションがあります。

5.5. Strings
5.5. 文字列

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.

文字列オブジェクトは、すべてのテキストデータを表すために使用されます。Java Stringオブジェクトは、すべての文字を2バイトのユニコード文字として透過的に扱い、多くの地元の人々をサポートできます。テキストデータを返したり受け入れたりするすべてのルーチンは、文字列オブジェクトを使用します。

5.6. Object Identifiers
5.6. オブジェクト識別子

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クラスの重要な特徴は、そのインスタンスが不変であることです。つまり、OIDの内容を変更できる方法が定義されていないことです。このプロパティにより、コピーを実行する必要なく、これらのオブジェクトを「statics」として扱うことができます。

Certain routines allow the usage of a default oid. A "null" value can be used in those cases.

特定のルーチンにより、デフォルトのOIDの使用が可能になります。これらの場合には、「null」値を使用できます。

5.7. Object Identifier Sets
5.7. オブジェクト識別子セット

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-更新]の完全な機能をサポートするために、OIDクラスには、指定された配列内のOIDオブジェクトの存在をチェックする方法が含まれています。これは、gss_test_oid_set_memberと機能するのと同等です。JavaアレイとJavaの自動ごみ収集の使用により、次のルーチンの必要性が排除されました:gss_create_empty_oid_set、gss_release_oid_set、およびgss_add_oid_set_set_member。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.

オブジェクト識別子セットのデフォルト値が必要な場合はいつでも、「null」値を使用できます。詳細については、詳細な方法の説明を参照してください。

5.8. Credentials
5.8. 資格

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インターフェイスで表されます。インターフェイスには、イニシエーターとアクセプターに最も一般的な資格情報オブジェクトを作成できるようにするためのいくつかのコンストラクトが含まれています。比較は、インターフェイスの「Equals」メソッドを使用して実行されます。GSS-API資格情報の以下の一般的な説明は、C-Bindings仕様から含まれています。

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つの資格参照参照を概念的に含みます。コンテキストを受け入れるために使用されます。アクセプターとイニシエーターの資格情報を区別しないメカニズムの場合、両方の参照は同じ基礎となるメカニズム固有の認証データを指します。

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) プラットフォームが、選択したメカニズムのデフォルトネットワークアイデンティティの概念を維持し、セキュリティコンテキストを開始する目的でアプリケーションがそのアイデンティティに代わって行動することを許可されている場合、そのアイデンティティに対応する元本を使用するものとします。さもないと、

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) 選択したメカニズムのセキュリティコンテキストを受け入れることができる単一の承認された元本IDのみがある場合、そのプリンシパルを使用するものとします。さもないと、

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) メカニズムが、受け入れメソッド中に処理されたコンテキスト確立トークンを調べることにより、ターゲットプリンシパルのIDを決定できる場合、および選択したメカニズムを使用してセキュリティコンテキストを受け入れる目的でそのプリンシパルとして行動することを許可されている場合、主要なアイデンティティを使用するものとします。さもないと、

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を表すGSSCREDENITIALオブジェクトをインスタンス化するものよりも、メカニズムと実装全体でよりポータブルである可能性があります。

5.9. Contexts
5.9. コンテキスト

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セキュリティコンテキストの一方の端を表すために使用され、暗号化状態情報を含むピアコミュニケーションのその端に適した状態情報を保存します。コンテキストオブジェクトのインスタンス化は、イニシエーターとアクセプターによって異なる方法で行われます。コンテキストがインスタンス化された後、イニシエーターは、目的のセキュリティコンテキストの特性を決定するさまざまなコンテキストオプションを設定することを選択できます。すべてのアプリケーションデザインの特性が設定されている場合、イニシエーターはInitsecContextメソッドを呼び出し、ピアのAcceptSecContextメソッドによって消費するためのトークンを生成します。処理用のピアアプリケーション間で認証トークンを提供することは、アプリケーションの責任です。コンテキスト確立段階が完了すると、アクセサの方法を使用して、イニシエーターとアクセプターの両方がコンテキスト属性を取得できます。これらは、確立されたコンテキストの実際の属性を反映します。この時点で、コンテキストをアプリケーションで使用して、暗号化サービスをデータに適用できます。

5.10. Authentication Tokens
5.10. 認証トークン

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は、バイト配列を使用して認証トークンを表します。トークンデータの読み取りと書き込みに使用される入力ストリームと出力ストリームを発信者に提供できる過負荷の方法が存在します。

5.11. Inter-Process Tokens
5.11. インタープロセストークン

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によってGSS-APIが別のプロセスで使用するためにGSS-APIによって生成された発信者 - 麻痺のオクテットストリングを使用します。呼び出しアプリケーションは、プロセス間でそのようなトークンを転送する責任があります。GSS-APIの実装者は、プロセス間トークン内に機密情報の配置を避けたり、暗号化的に保護するように奨励されていますが、多くの実装では、重要な資料やその他の機密データの配置を避けることができないことに注意してください。プロセス間トークンが輸送中に保護され、信頼できるプロセスにのみ転送されることを保証することは、アプリケーションの責任です。インタープロセストークンは、GSScontextインターフェイスのエクスポート方法から放出されたバイトアレイを使用して表されます。インタープロセストークンの受信機は、このトークンを使用してGSScontextオブジェクトを初期化して、新しいコンテキストを作成します。コンテキストがエクスポートされると、GSScontextオブジェクトが無効になり、使用できなくなります。

5.12. Error Reporting
5.12. エラーレポート

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の機能に相当する、主要な値とマイナー値の両方のテキスト表現を取得する方法も含まれています。

5.12.1. GSS Status Codes
5.12.1. GSSステータスコード

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ステータスコードは、セキュリティサービスを提供するために使用される基礎となるメカニズムに依存しないエラーを示します。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運用モデルは、メッセージごとの呼び出しからの補足ステータス情報のシグナル伝達も可能にします。例外を使用することは情報または警告のような情報には適していないため、これらは返品値として処理する必要があります。補足情報を作成できる方法は、2つのメッセージごとの方法GSSCONTEXT.VERIFYMIC()およびGSSCONTEXT.UNWRAP()です。これらのメソッドは、渡された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トークンには無効なマイクがありました。

CONTEXT_EXPIRED 7 The context has expired.

Context_Expired 7コンテキストの有効期限が切れています。

CREDENTIALS_EXPIRED 8 The referenced credentials have expired.

資格情報_expired 8参照された資格情報の有効期限が切れています。

DEFECTIVE_CREDENTIAL 9 A supplied credential was invalid.

defiect_credential 9提供された資格情報が無効でした。

DEFECTIVE_TOKEN 10 A supplied token was invalid.

欠陥_token 10付属のトークンは無効でした。

FAILURE 11 Miscellaneous failure, unspecified at the GSS-API level.

障害11その他の障害、GSS-APIレベルで不特定。

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.

利用できない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.

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]の対応する呼び出しによって返される主要なステータスコードと同じです。

5.12.2. Mechanism-Specific Status Codes
5.12.2. メカニズム固有のステータスコード

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.

メカニズム固有のステータスコードは2つの方法で伝達されます。これらは、メカニズム固有のレイヤーからスローされたGSSExceptionの一部であり、致命的な誤差を信号するか、メッセージごとの呼び出しが非致命的なシグナルに使用するメッセージプロップオブジェクトの一部です。エラー。

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オブジェクトのいずれかのデフォルト値は、メカニズム固有のステータスコードがないことを表すために使用されます。

5.12.3. Supplementary Status Codes
5.12.3. 補足ステータスコード

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インターフェイスのメッセージごとの操作は、メッセージプロップオブジェクトでこれらの値を返します。

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

「true」が返された場合のメソッド名の意味

isDuplicateToken The token was a duplicate of an earlier token.

IsDuplicateToken The Tokenは、以前のトークンの複製でした。

isOldToken The token's validity period has expired.

ISOLDTOKEN TOKENの有効期間は失効しました。

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によるエラーとして扱われません。

5.13. Names
5.13. 名前

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:

次の2つの異なる概念表現が定義されています。

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.

1) GSSNAMEインターフェイスの実装で表される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インターフェイスのエクスポート方法から返されるバイト配列)。

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名を認証するメカニズムかもしれませんが、インターネットDNS名のアルゴリズムマッピングをX.500に提供します。GSSNAMEのメカニズムの実装は、DNS名で提示された場合、元のDNS名と同等のX.500名の両方を含む内部名を生成する可能性があります。または、X.500名のみを保存する場合があります。後者の場合、GSSNAMEのToStringメソッドは、元のDNS名ではなく、印刷可能なX.500名を生成する可能性が高いでしょう。

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.

コンテキストアクセプターは、コンテキスト開始を実行するエンティティを表すGSSNAMEオブジェクトを取得できます(GetSRCNameメソッドの使用を通じて)。この名前は単一のメカニズムによって認証されているため、単一の名前のみが含まれています(GSScontextオブジェクトへのコンテキストイニシエーターによって提示された内部名が複数のコンポーネントを持っていたとしても)。このような名前は内部メカニズム名(またはMNS)と呼ばれ、getSrcNameおよびgetTargnameのGSScontextインターフェイスによって放出される名前は常にこのタイプです。一部のアプリケーションでは、認証操作のオーバーヘッドを発生させたくない場合はMNSを必要とする場合があるため、名前のバッファと名前のタイプだけでなく、この名前を作成するメカニズムOIDも使用する作成方法が提供されます。既存のGSSNAMEオブジェクトを扱う場合、Canonicalizeメソッドを呼び出して、一般的な内部名を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つの名前が同じエンティティを参照する場合に「true」を返します。これは、特定のGSS-API実装がサポートする可能性のある印刷可能な名前を使用する代わりに、名前比較を実行するための好ましい方法です。GSS-APIは、特定の内部名に含まれるすべてのプリミティブ名が同じエンティティを参照すると想定しているため、2つの名前に少なくとも1つの原始名が共通している場合、Equalは「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メソッドを使用して得られた結果は、一般に、CanonicalizeとExportを呼び出してから得た結果とは異なることに注意してください。バイト配列出力を比較することに注意してください。最初の一連の操作は、2つの(認証されていない)名前が同じプリンシパルを識別するかどうかを決定します。2番目は、特定のメカニズムがそれらを同じプリンシパルとして認証するかどうか。これらの2つの操作は、一般にMNSのみで同じ結果をもたらします。

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インターフェイスの実装の詳細を自由に決定できます。

5.14. Channel Bindings
5.14. チャネルバインディング

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は、ユーザー指定のタグの使用をサポートして、特定のコンテキストをピアアプリケーションに識別します。これらのタグは、コンテキストを運ぶ特定の通信チャネルを識別するために使用することを目的としています。チャネルバインディングは、チャネルバインディングオブジェクトを使用してGSS-APIに通信します。アプリケーションは、byte配列を使用して、チャネルバインディングで使用するアプリケーションデータを指定し、イネタドレスのインスタンスを使用する場合があります。イニシエーターおよび/またはアクセプターのInetAddressは、チャネルバインディングのインスタンス内で使用できます。initまたは受け入れの最初の呼び出しが実行される前に、セットチャネルバインディングメソッドを使用して、GSScontextオブジェクトにチャネルバインディングを設定できます。GSScontextオブジェクトのチャネルバインディングを設定するためにSetChannelbindingメソッドが使用されていない限り、「null」チャネルバインディングが想定されます。InetAddressは現在、Javaプラットフォーム内で定義されている唯一のアドレスタイプであるため、チャネルバインディングクラス内でサポートされている唯一のアドレスです。他のタイプのアドレスを使用するアプリケーションは、アプリケーション固有のデータの一部としてそれらを含めることができます。

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は、イニシエーターとアクセプターアドレス情報を連結し、アプリケーションがサプライされたバイト配列を連結してオクテット弦を形成します。このメカニズムは、このOctet stringでメッセージ整合性コード(MIC)を計算し、GSScontextインターフェイスのinitメソッドによって放出されるコンテキスト確立トークンにマイクを結合します。同じバインディングは、GSScontextオブジェクトのコンテキストアクセプターによって設定され、受け入れメソッドの処理中に同じ方法でマイクが計算されます。計算されたマイクは、トークンにあるものと比較され、MICが違う場合、Acceptはbad_bindingsに設定された主要なコードを使用してgssexceptionをスローし、コンテキストは確立されません。いくつかのメカニズムには、トークンの実際のチャネル結合データが含まれる場合があります(単なるマイクではなく)。したがって、アプリケーションは、チャネル結合コンポーネントとして機密データを使用しないでください。

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.

個々のメカニズムは、チャネルバインディングに表示される可能性のあるアドレスに追加の制約を課す可能性があります。たとえば、メカニズムは、チャネルバインディングのイニシエーターアドレスフィールドにホストシステムの正しいネットワークアドレスが含まれていることを確認する場合があります。したがって、ポータブルアプリケーションは、アドレスフィールドに正しい情報を提供するか、アドレス指定情報の設定を省略することを確認する必要があります。

5.15. Stream Objects
5.15. ストリーミングオブジェクト

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パッケージで定義されているストリームを使用したり、継承を使用して独自のストリームを作成したりするだけで、ストリームを必要なだけ複雑にするか、単純に単純にすることができます。これにより、アプリケーションの最大の柔軟性が可能になります。

5.16. Optional Parameters
5.16. オプションのパラメーター

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.

アプリケーションがオプションのパラメーターを省略したいときはいつでも、「null」値を使用するものとします。詳細な方法の説明は、どのパラメーターがオプションであるかを示します。メソッドオーバーロードは、デフォルトのパラメーターを示す手法としても使用されています。

6. Introduction to GSS-API Classes and Interfaces
6. GSS-APIクラスとインターフェイスの紹介

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を構成するクラスとインターフェイスの簡単な説明を示します。これらの実装は、アプリケーションによって定義されたクラスパスから取得されます。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に示されています。

6.1. GSSManager Class
6.1. GSSMANAGERクラス

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-更新]ルーチンに相当するものが含まれています。

      RFC 2743 Routine             Function                   Section(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
        

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_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.

GSS_INQUIRE_NAMES_FOR_MECHリストタイプ7.1.4指定されたメカニズムでサポートされています。

6.2. GSSName Interface
6.2. GSSNAMEインターフェイス

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ルーチン関数セクション

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 2つの内部名を比較します。7.2.3、7.2.4

gss_release_name Release resources associated N/A with the internal name.

GSS_RELEASE_NAME内部名にN/Aを関連付けたリソースをリリースします。

gss_canonicalize_name Convert an internal name to a 7.2.5 mechanism name.

GSS_CANONICALIZE_NAME内部名を7.2.5メカニズム名に変換します。

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/a名のコピーを作成します。

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.

GSS_RELEASE_NAMEコールは、Javaが独自のゴミコレクションを行っているため、提供されていません。gss_duplicate_nameコールも冗長です。GSSNAMEインターフェイスには、オブジェクトの状態を変更できるミューテーターメソッドがないため、スレッド間で共有するのは安全です。

6.3. GSSCredential Interface
6.3. GSSCREDENTIALインターフェイス

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)
        

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

GSS_INQUIRE_CRED 7.3.4-資格に関する情報を取得します。7.3.11

      gss_inquire_cred_by_mech   Obtain per-mechanism          7.3.5-
                                 information about             7.3.10
                                 a credential.
        

gss_release_cred Dispose of credentials 7.3.3 after use.

GSS_RELEASE_CREDは、使用後7.3.3の資格情報を処分します。

6.4. GSSContext Interface
6.4. GSScontextインターフェイス

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ルーチン関数セクション

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_size_limit gss_wrapのトークンサイズ制限7.4.13を決定します。

gss_export_sec_context Transfer security context 7.4.22 to another process.

gss_export_sec_contextセキュリティコンテキスト7.4.22を別のプロセスに転送します。

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.

gss_wrapメッセージにマイクを添付し、7.4.14をオプションでメッセージ7.4.15コンテンツを暗号化します。

gss_unwrap Obtain a previously wrapped 7.4.16, application message verifying 7.4.17 its integrity and optionally decrypting it.

GSS_UNWRAP以前にラップされた7.4.16、7.4.17のその完全性を検証するアプリケーションメッセージを取得し、オプションで復号化します。

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 Bindings仕様に含まれていません。GSS_DELETE_SEC_CONTEXTの対応する機能も、ピアトークンを返さないように変更されています。これは、RFC 2743 [GSSAPIV2-更新]に記載されている推奨事項に従って提案されています。GSScontextは、ローカルに保存されているコンテキスト情報を破壊する機能を提供します。

6.5. MessageProp Class
6.5. MessagePropクラス

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の説明を参照してください。

6.6. GSSException Class
6.6. gssexceptionクラス

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-bindings仕様で使用される主要コードとマイナーコードを、シグナル伝達障害の方法として置き換えます。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コードの表現。

6.7. Oid Class
6.7. OIDクラス

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
        

gss_test_oid_set_member Determine if the specified oid 7.7.5 is part of a set of oids.

GSS_TEST_OID_SET_MEMBER指定されたOID 7.7.5がOIDのセットの一部であるかどうかを決定します。

6.8. ChannelBinding Class
6.8. チャネルバインディングクラス

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プラットフォーム内で定義されている唯一のアドレスタイプであるため、チャネルバインディングクラス内でサポートされている唯一のアドレスです。他のタイプのアドレスを使用するアプリケーションは、アプリケーションデータの一部としてそれらを含めることができます。

7. Detailed GSS-API Class Description
7. 詳細なGSS-APIクラスの説明

This section lists a detailed description of all the public methods that each of the GSS-API classes and interfaces must provide.

このセクションには、GSS-APIクラスとインターフェイスのそれぞれが提供する必要があるすべての公開方法の詳細な説明をリストします。

7.1. public abstract class GSSManager
7.1. パブリックアブストラクトクラスGSSMANAGER

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.

GSSMANAGERクラスは、GSSName、GSScreDential、およびGSScontextの3つの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.

このクラスの1つの方法を除くすべての方法は、要約と宣言されています。これは、サブクラスがこれらの方法に完全な実装を提供する必要があることを意味します。これの唯一の例外は、staticメソッド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抽象クラスを拡張するサブクラスは、有名なサービスプロバイダーの仕様を使用するモジュラープロバイダーベースのレイヤーとして実装できます。GSSSManager 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.

GSSMANAGERクラスには、これらの使用モードを有効にする2つの方法があります:addProviderAtFront()とAddProviderAtend()。これらのメソッドは、各ペアが特定の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に追加される場合があります。

7.1.1. Example Code
7.1.1. 例コード
      GSSManager mgr = GSSManager.getInstance();
        

// What mechs are available to us?

//どのようなメカが利用可能ですか?

      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".
        
      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());
        
      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);

7.1.2. getInstance
7.1.2. GetInstance

public static GSSManager getInstance()

public static gssmanager getInstance()

Returns the default GSSManager implementation.

デフォルトのGSSMANAGER実装を返します。

7.1.3. getMechs
7.1.3. getMechs

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オブジェクトの配列を返します。メカニズムが利用できないときに「null」値が返されます(この例は、メカニズムが動的に構成され、現在メカニズムがインストールされていない場合です)。

7.1.4. getNamesForMech
7.1.4. getNamesFormech

public abstract Oid[] getNamesForMech(Oid mech) throws GSSException

パブリックアブストラクトoid [] getnamesformech(oid mech)はgssexceptionをスローします

Returns name type Oid's supported by the specified mechanism.

指定されたメカニズムによってサポートされている名前のoidタイプを返します。

Parameters:

パラメーター:

mech: The Oid object for the mechanism to query.

MECH:QUERYのメカニズムのOIDオブジェクト。

7.1.5. getMechsForName
7.1.5. getMechSForname

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オブジェクトの配列を返します。指定された名前タイプをサポートするメカニズムが見つからない場合、「null」は返されます。

Parameters:

パラメーター:

nameType: The Oid object for the name type.

NameType:名前タイプのOIDオブジェクト。

7.1.6. createName
7.1.6. CreateName

public abstract GSSName createName(String nameStr, Oid nameType) throws GSSException

パブリックアブストラクトGSSName CreateName(String 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ではありません。これの例外である2つの例は、名前空間型パラメーターがNT_EXPORT_NAMEを示す場合、またはGSS-APIの実装がマルチメカニズムではない場合です。

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実装のタイプを必ずしも意味するものではありません。「null」値を使用して、メカニズム固有のデフォルトの印刷可能な構文を、namestrを調べる各メカニズムによって想定する必要があることを指定できます。

7.1.7. createName
7.1.7. CreateName

public abstract GSSName createName(byte[] name, Oid nameType) throws GSSException

パブリックアブストラクトgssname createName(byte [] name、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ではありません。これの例外である2つの例は、名前空間型パラメーターがNT_EXPORT_NAMEを示す場合、またはGSS-APIの実装がマルチメカニズムではない場合です。

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実装のタイプを意味するわけではありません。「null」値を使用して、メカニズム固有のデフォルト構文をバイト配列を調べる各メカニズムによって想定する必要があることを指定できます。

7.1.8. createName
7.1.8. CreateName

public abstract GSSName createName(String nameStr, Oid nameType, Oid mech) throws GSSException

パブリックアブストラクトGSSName CreateName(String Namestr、Oid NameType、Oid Mech)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オブジェクトに変換する工場法。言い換えれば、この方法は2つのステップに相当するユーティリティです。セクション7.1.6で説明されているCreateName、次にセクション7.2.5で説明されているGSSName.Canonicalize()。

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実装のタイプを意味するわけではありません。「null」値を使用して、メカニズムがnamestrを調べるときにメカニズム固有のデフォルトの印刷可能な構文を想定する必要があることを指定できます。

mech: Oid specifying the mechanism for which this name should be created.

MECH:OIDこの名前を作成するメカニズムを指定します。

7.1.9. createName
7.1.9. CreateName

public abstract GSSName createName(byte[] name, Oid nameType, Oid mech) throws GSSException

パブリックアブストラクトgssname createName(byte [] name、oid nametype、oid mech)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オブジェクトに変換するファクトリメソッド。言い換えれば、この方法は2つのステップに相当するユーティリティです。セクション7.1.7で説明されているCreateName、次にセクション7.2.5で説明されているGSSName.Canonicalize()。

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実装のタイプを必ずしも意味するものではありません。「null」値を使用して、メカニズム固有のデフォルト構文をバイト配列を調べる各メカニズムによって想定する必要があることを指定できます。

mech: Oid specifying the mechanism for which this name should be created.

MECH:OIDこの名前を作成するメカニズムを指定します。

7.1.10. createCredential
7.1.10. CreateCredential

public abstract GSSCredential createCredential(int usage) throws GSSException

パブリックアブストラクトGSSCREDENTIAL CREATECREDENTIAL(int usage)スロー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.

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)

gsscredential.initiate_and_accept(0)、gsscredential.initiate_only(1)、またはgsscredential.accept_only(2)

7.1.11. createCredential
7.1.11. CreateCredential

public abstract GSSCredential createCredential(GSSName aName, int lifetime, Oid mech, int usage) throws GSSException

パブリックアブストラクトGSSCREDENTIAL CREATECREDENTIAL(GSSNAME ANAME、INT LIFETIME、OID MECH、INT USAGE)SLOWS 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:この資格情報が取得される校長の名前。「null」を使用して、デフォルトのプリンシパルを指定します。

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).

MECH:目的のメカニズムの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)

gsscredential.initiate_and_accept(0)、gsscredential.initiate_only(1)、またはgsscredential.accept_only(2)

7.1.12. createCredential
7.1.12. CreateCredential

public abstract GSSCredential createCredential(GSSName aName, int lifetime, Oid[] mechs, int usage) throws GSSException

public abstract gsscredential createcredential(gssname aname、int lifetime、oid [] mechs、int usage)throws 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.

一連のメカニズムを介して資格情報を取得するための工場の方法。Mechsと呼ばれる配列で指定された各メカニズムの資格情報を取得します。資格情報の獲得が成功したメカニズムのリストを決定するには、発信者はGSSCREDENTIAL.GETMECHS()メソッドを使用する必要があります。

Parameters:

パラメーター:

aName: Name of the principal for whom this credential is to be acquired. Use "null" to specify the default principal.

ANAME:この資格情報が取得される校長の名前。「null」を使用して、デフォルトのプリンシパルを指定します。

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.

Mechs:資格情報を取得するメカニズムの配列。システム固有のデフォルトのメカニズムセットを要求するために、 "(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)

gsscredential.initiate_and_accept(0)、gsscredential.initiate_only(1)、またはgsscredential.accept_only(2)

7.1.13. createContext
7.1.13. CreateContext

public abstract GSSContext createContext(GSSName peer, Oid mech, GSSCredential myCred, int lifetime) throws GSSException

パブリックアブストラクトgsscontext createcontext(gssname peer、oid mech、gsscredential mycreded、int lifetime)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()を呼び出す前に、mutatorメソッドを介して変更できます。

Parameters:

パラメーター:

peer: Name of the target peer.

ピア:ターゲットピアの名前。

mech: Oid of the desired mechanism. Use "(Oid) null" to request the default mechanism.

MECH:目的のメカニズムのOID。「(oid)null」を使用して、デフォルトのメカニズムを要求します。

myCred: Credentials of the initiator. Use "null" to act as a default initiator principal.

MyCred:イニシエーターの資格情報。「null」を使用して、デフォルトのイニシエータープリンシパルとして機能します。

lifetime: The request lifetime, in seconds, for the context. Use GSSContext.INDEFINITE_LIFETIME and GSSContext.DEFAULT_LIFETIME to request indefinite or default context lifetime.

Lifetime:コンテキストのリクエストライフタイム、数秒で。gsscontext.indefinite_lifetimeおよびgsscontext.default_lifetimeを使用して、無期限またはデフォルトのコンテキストのライフタイムを要求します。

7.1.14. createContext
7.1.14. CreateContext

public abstract GSSContext createContext(GSSCredential myCred) throws GSSException

パブリックアブストラクトgsscontext createcontext(gsscredentialmycreded)は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.

mycreded:アクセプターの資格情報。「null」を使用して、デフォルトのアクセプタープリンシパルとして機能します。

7.1.15. createContext
7.1.15. CreateContext

public abstract GSSContext createContext(byte[] interProcessToken) throws GSSException

パブリックアブストラクトgsscontext createcontext(byte [] 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:以前にエクスポート方法から放出されたトークン。

7.1.16. addProviderAtFront
7.1.16. AddProviderAtFront

public abstract void addProviderAtFront(Provider p, Oid mech) throws GSSException

パブリックアブストラクトvoid addprovideratfront(プロバイダーP、oid mech)が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に、特定のメカニズムのサポートが望まれている場合、特定のプロバイダーを他のすべてのプロバイダーよりも先に使用することを望んでいることをGSSManagerに示すために使用されます。メカニズムのOIDの代わりに「null」の値が使用される場合、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.

null 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.

GSSSMANAGERの実装がプラグ可能なプロバイダーアーキテクチャを備えたSPIをサポートしていない場合、ステータスコードGSSExceptionでGSSExceptionを投げる必要があります。操作が利用できないことを示すことができます。

Parameters:

パラメーター:

p: The provider instance that should be used whenever support is needed for mech.

P:MECHのサポートが必要なときにいつでも使用する必要があるプロバイダーインスタンス。

mech: The mechanism for which the provider is being set.

MECH:プロバイダーが設定されているメカニズム。

7.1.17. Example Code
7.1.17. 例コード

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:
        

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 M1のメカニズムが常にプロバイダーBから取得されることを望んでいた場合、それは次のように呼びます。

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.

次に、GSSMANAGERは、最初にM1が必要な場合はBで確認します。BがM1のサポートを提供しなかった場合、GSSManagerはAを確認し続けます。M2がM1と異なるメカニズムM2が必要な場合、GSSManagerはBをスキップして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), ...}

7.1.18. addProviderAtEnd
7.1.18. AddProviderAtend

public abstract void addProviderAtEnd(Provider p, Oid mech) throws GSSException

パブリックアブストラクトvoid 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に、特定のメカニズムをサポートする他のプロバイダーが見つからない場合、特定のプロバイダーを使用することを希望することをGSSManagerに示すために使用されます。メカニズムのOIDの代わりに「null」の値が使用される場合、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ペアの順序付けられたリストを形成します。したがって、古いプロバイダー設定は、この前に最初に使用されます。

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.

GSSSMANAGERの実装がプラグ可能なプロバイダーアーキテクチャを備えたSPIをサポートしていない場合、ステータスコードGSSExceptionでGSSExceptionを投げる必要があります。操作が利用できないことを示すことができます。

Parameters:

パラメーター:

p: The provider instance that should be used whenever support is needed for mech.

P:MECHのサポートが必要なときにいつでも使用する必要があるプロバイダーインスタンス。

mech: The mechanism for which the provider is being set.

MECH:プロバイダーが設定されているメカニズム。

7.1.19. Example Code
7.1.19. 例コード

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をサポートしない場合にのみ、アプリケーションが望ましいと仮定します。それは次のように電話をかけます:

      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)}に効果的になります。

7.2. public interface GSSName
7.2. パブリックインターフェイスGSSNAME

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に基づいて導出できます。

7.2.1. Example Code
7.2.1. 例コード

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インターフェイスを利用したコードの例です。以下のコードはGSSNAMEを作成し、メカニズム名(MN)に変換し、比較を実行し、名前の印刷可能な表現を取得し、それをエクスポートしてから、新しいGSSNameを取得するために再インポートします。

      GSSManager mgr = GSSManager.getInstance();
        

// create a host-based service name GSSName name = mgr.createName("service@host", GSSName.NT_HOSTBASED_SERVICE);

//ホストベースのサービス名gssname name = mgr.createname( "service@host"、gssname.nt_hostbased_service);

      Oid krb5 = new Oid("1.2.840.113554.1.2.2");
        
      GSSName mechName = name.canonicalize(krb5);
        

// 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( "service@host"、gssname.nt_hostbased_service、krb5)に相当します。

// perform name comparison if (name.equals(mechName)) print("Names are equals.");

//名前の比較を実行するif(name.equals(mechname))print( "names is Equals。");

      // obtain textual representation of name and its printable
      // name type
      print(mechName.toString() +
            mechName.getStringNameType().toString());
        

// export and re-import the name byte[] exportName = mechName.export();

// byte [] exportname = mechname.export()をエクスポートして再importします。

// 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);

7.2.2. Static Constants
7.2.2. 静的定数

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。ホストコンピューターに関連するサービスを表すために使用されます。この名前フォームは、次のように、「サービス」と「ホスト名」の2つの要素を使用して構築されます。

service@hostname

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) }
        

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) }
        

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) }
        

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) }
        

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) }
        

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) }
        
7.2.3. equals
7.2.3. 平等です

public boolean equals(GSSName another) throws GSSException

Public Boolean Equals(GSSName Another)は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を投げる場合があります。いずれかの名前が匿名のエンティティを表す場合、メソッドは「false」を返します。

Parameters:

パラメーター:

another: GSSName object with which to compare.

別:比較するGSSNAMEオブジェクト。

7.2.4. equals
7.2.4. 平等です

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で説明されている等しい方法のバリエーション。動作は、セクション7.2.3の動作とまったく同じです。代わりに、エラーが発生する状況で「false」が返されます。(Java言語の仕様では、HashCode()メソッドが呼び出されたときに、Equals(オブジェクト)メソッドに従って等しい2つのオブジェクトが同じ整数結果を返す必要があることに注意してください。)

Parameters:

パラメーター:

another: GSSName object with which to compare.

別:比較するGSSNAMEオブジェクト。

7.2.5. canonicalize
7.2.5. 正規化します

public GSSName canonicalize(Oid mech) throws GSSException

public gssname canonicalize(oid mech)は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で説明されている工場の方法を使用して、メカニズム名をパラメーターの1つとして使用することと同等です。

Parameters:

パラメーター:

mech: The oid for the mechanism for which the canonical form of the name is requested.

MECH:名前の正規形式が要求されるメカニズムのOID。

7.2.6. export
7.2.6. 輸出

public byte[] export() throws GSSException

public byte [] export()throws 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]で指定されています。

7.2.7. toString
7.2.7. ToString

public String toString()

public string 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メソッドを使用できます。

7.2.8. getStringNameType
7.2.8. GetStringNameType

public Oid getStringNameType() throws GSSException

public 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を使用して、印刷可能な名前の構文を決定できます。

7.2.9. isAnonymous
7.2.9. Isanonymous

public boolean isAnonymous()

public boolean isanonymous()

Tests if this name object represents an anonymous entity. Returns "true" if this is an anonymous name.

この名前オブジェクトが匿名エンティティを表すかどうかをテストします。これが匿名の名前である場合、「true」を返します。

7.2.10. isMN
7.2.10. ISMN

public boolean isMN()

public boolean ismn()

Tests if this name object contains only one mechanism element and is thus a mechanism name as defined by RFC 2743 [GSSAPIv2-UPDATE].

この名前オブジェクトに1つのメカニズム要素のみが含まれているため、RFC 2743 [GSSAPIV2-Update]で定義されているメカニズム名であるかどうかをテストします。

7.3. public interface GSSCredential implements Cloneable
7.3. パブリックインターフェイスGSSCREDENTIALは、クローン可能な実装を実装します

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ルーチンに相当)。資格情報が不要になった場合、アプリケーションは、資格情報オブジェクトが保有するリソースをリリースし、暗号化に敏感な情報を破壊するために、Dispose(GSS_RELEASE_CREDに相当)を呼び出す必要があります。

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.

このインターフェイスを実装するクラスは、クローン可能なインターフェイスも実装します。これは、クラスが重複資格情報の作成を可能にするclone()メソッドをサポートすることを示しています。これは、元の資格情報のコピーを保持するためにadd()呼び出しの直前に呼び出された場合に役立ちます。

7.3.1. Example Code
7.3.1. 例コード

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();
        

// start by creating a name object for the entity GSSName name = mgr.createName("userName", GSSName.NT_USER_NAME);

//エンティティの名前オブジェクトを作成することから始めますgssname name = mgr.createname( "username"、gssname.nt_user_name);

// now acquire credentials for the entity GSSCredential cred = mgr.createCredential(name, GSSCredential.ACCEPT_ONLY);

//ここで、エンティティGSSCREDENTIAL CRED = MGR.CreateCredention(name、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();
        
7.3.2. Static Constants
7.3.2. 静的定数

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 accect_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.

無期限の資格的寿命を表す生涯定数。この定数の値は、java -integer.max_valueの最大整数値です。

7.3.3. dispose
7.3.3. 廃棄

public void dispose() throws GSSException

public void dispose()throws 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オブジェクトに含まれている可能性のある機密情報を解放します。機密情報が維持される時間を最小限に抑えるために、資格情報が不要になったらすぐにアプリケーションを呼び出す必要があります。

7.3.4. getName
7.3.4. getName

public GSSName getName() throws GSSException

public gssname getname()throws gssexception

Retrieves the name of the entity that the credential asserts.

資格情報が主張するエンティティの名前を取得します。

7.3.5. getName
7.3.5. getName

public GSSName getName(Oid mechOID) throws GSSException

public gssname getName(oid mechoiod)は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で返された名前のCanonicalize()を呼び出すことに相当します。

Parameters:

パラメーター:

mechOID: The mechanism for which information should be returned.

メコイド:情報を返すメカニズム。

7.3.6. getRemainingLifetime
7.3.6. getRemainInlifetime

public int getRemainingLifetime() throws GSSException

public int getRemainLifetime()は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の返品値は、資格情報がすでに期限切れになっていることを示します。

7.3.7. getRemainingInitLifetime
7.3.7. getRemaininItlifetime

public int getRemainingInitLifetime(Oid mech) throws GSSException

public int getRemaininInitlifetime(oid mech)は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.

メコイド:情報を返すメカニズム。

7.3.8. getRemainingAcceptLifetime
7.3.8. getRemainAcceptLifetime

public int getRemainingAcceptLifetime(Oid mech) throws GSSException

public int getRemainAcceptlifetime(OID MECH)は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.

メコイド:情報を返すメカニズム。

7.3.9. getUsage
7.3.9. getUsage

public int getUsage() throws GSSException

public 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)の1つになります。

7.3.10. getUsage
7.3.10. getUsage

public int getUsage(Oid mechOID) throws GSSException

public int getUsage(oid mechoiod)は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)の1つになります。

Parameters:

パラメーター:

mechOID: The mechanism for which information should be returned.

メコイド:情報を返すメカニズム。

7.3.11. getMechs
7.3.11. getMechs

public Oid[] getMechs() throws GSSException

Returns an array of mechanisms supported by this credential.

この資格によってサポートされている一連のメカニズムを返します。

7.3.12. add
7.3.12. 追加

public void add(GSSName aName, int initLifetime, int acceptLifetime, Oid mech, int usage) throws GSSException

public void add(gssname aname、int initlifetime、int acceptlifetime、oid mech、int usage)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.

このルーチンは、新しいクレデンシャル要素「In-Place」を追加します。新しい資格情報に要素を追加するには、最初にClone()を呼び出してこの資格情報のコピーを取得し、そのadd()メソッドを呼び出します。

Parameters:

パラメーター:

aName: Name of the principal for whom this credential is to be acquired. Use "null" to specify the default principal.

ANAME:この資格情報が取得される校長の名前。「null」を使用して、デフォルトのプリンシパルを指定します。

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.

gsscredential.indefinite_lifetimeを使用して、資格情報に最大許可された寿命があることを要求します。gsscredential.default_lifetimeを使用して、デフォルトの資格情報のライフタイムを要求します。

mech: The mechanisms over which the credential is to be acquired.

MECH:資格情報が取得されるメカニズム。

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)

gsscredential.initiate_and_accept(0)、gsscredential.initiate_only(1)、またはgsscredential.accept_only(2)

7.3.13. equals
7.3.13. 平等です

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.)

このGSSCREDENITIALが提供されたオブジェクトと同じエンティティを指すかどうかをテストします。2つの資格情報は、同じメカニズムで取得する必要があり、同じプリンシパルを参照する必要があります。2つのGSSCREDENITIALSが同じエンティティを参照する場合、「TRUE」を返します。それ以外の場合は「偽」。(Java言語仕様[JLS]では、HashCode()メソッドが呼び出されたときに、Equals(オブジェクト)メソッドに従って等しい2つのオブジェクトが同じ整数結果を返す必要があることに注意してください。)

Parameters:

パラメーター:

another: Another GSSCredential object for comparison.

別:比較のための別のGSSCREDENTIALオブジェクト。

7.4. public interface GSSContext
7.4. パブリックインターフェイスGSScontext

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セキュリティコンテキストをカプセル化し、コンテキストで利用可能なセキュリティサービス(wrap、unwrap、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.

コンテキスト確立段階が開始される前に、コンテキスト開始者は、確立されたコンテキストに必要な特定の特性を要求する場合があります。これらは、設定された方法を使用して設定できます。コンテキストが確立された後、発信者はクエリメソッドを使用してコンテキストによって提供される実際の特性とサービスを確認できます。

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認証トークンを生成し、呼び出しアプリケーションがピアに送信する必要があります。任意の時点でエラーが発生した場合、例外がスローされ、コードがキャッチブロックで実行を開始します。そうでない場合、コードの通常のフローが継続され、アプリケーションはISESTABLED()メソッドを呼び出すことができます。この方法が「false」を返す場合、コンテキスト確立フェーズを継続するために、トークンがピアから必要であることを示します。「true」の返品値は、コンテキストのローカルエンドが確立されていることを示しています。これには、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()メソッドが「True」を返した後、クエリルーチンを呼び出して、確立されたコンテキストの実際の特性とサービスを決定できます。アプリケーションは、ラップとgetMICのメッセージごとのメソッドの使用を開始して、アプリケーションで提供されたデータの暗号化操作を取得することもできます。

When the context is no longer needed, the application should call dispose to release any system resources the context may be using.

コンテキストが不要になった場合、アプリケーションは、コンテキストが使用しているシステムリソースをリリースするために廃棄を呼び出す必要があります。

7.4.1. Example Code
7.4.1. 例コード

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();
        

// start by creating the name for a service entity GSSName targetName = mgr.createName("service@host", GSSName.NT_HOSTBASED_SERVICE);

// Service Entityの名前を作成することから始めますgssname targetname = mgr.createname( "service@host"、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];

//ピア間のコンテキストを確立します - バイト配列バイトを使用します[] intok = new byte [0];

      try {
          do {
              byte[] outTok = context.initSecContext(inTok, 0,
                                                    inTok.length);
        

// send the token if present if (outTok != null) sendToken(outTok);

//存在する場合はトークンを送信します(outtok!= null)sendtoken(outtok);

// check if we should expect more tokens if (context.isEstablished()) break;

//(context.iseStablished())breakの場合、より多くのトークンが予想されるかどうかを確認します。

// another token expected from peer inTok = readToken();

// peer intok = readtoken()に期待される別のトークン;

} while (true);

} while(true);

      } catch (GSSException e) {
          print("GSSAPI error: " + 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");

if(context.getConfstate())print( "Confidentanity Security Service Available");

if (context.getIntegState())

if(context.getIntegstate())

print("Integrity security service available");

print( "Integrity Security Service Available");

// perform wrap on an application-supplied message, appMsg, // using QOP = 0, and requesting privacy service byte[] appMsg ...

//アプリケーションサプライメッセージ、appmsg、// qop = 0を使用してラップを実行し、プライバシーサービスバイト[] appmsgを要求します...

      MessageProp mProp = new MessageProp(0, true);
        
      byte[] tok = context.wrap(appMsg, 0, appMsg.length, mProp);
        

if (mProp.getPrivacy()) print("Message protected with privacy.");

if(mprop.getPrivacy())print( "プライバシーで保護されたメッセージ。");

sendToken(tok);

Sendtoken(Tok);

// release the local end of the context context.dispose();

//コンテキストのローカルエンドをリリースしますContext.dispose();

7.4.2. Static Constants
7.4.2. 静的定数

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.

無期限の文脈の寿命を表す生涯定数。この定数の値は、java -integer.max_valueの最大整数値です。

7.4.3. initSecContext
7.4.3. initseccontext

public byte[] initSecContext(byte[] inputBuf, int offset, int len) throws GSSException

public byte [] initseccontext(byte [] inputbuf、int offset、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のFlush()メソッドを呼び出すことにより、これを行います。アプリケーションはISESTABLISHPISHED()を呼び出して、このピアのコンテキスト確立フェーズが完了したかどうかを判断できます。ISESTABLISHED()からの「false」の返品値は、より多くのトークンがInitsecContext()メソッドに提供されることが予想されることを示しています。initseccontext()メソッドがピアのトークンを返す可能性があることに注意してください。これは、トークンをピアに送信する必要があることを示していますが、コンテキストのローカルエンドは現在完全に確立されています。

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内のトークンの長さ(オフセットで開始)。

7.4.4. Example Code
7.4.4. 例コード

// Create a new GSSContext implementation object. // GSSContext wrapper implements interface GSSContext. GSSContext context = mgr.createContext(...);

//新しいGSScontext実装オブジェクトを作成します。// gsscontextラッパーはインターフェイスgsscontextを実装します。gsscontext context = mgr.createcontext(...);

byte[] inTok = new byte[0];

byte [] intok = new byte [0];

      try {
          do {
              byte[] outTok = context.initSecContext(inTok, 0,
                              inTok.length);
        

// send the token if present if (outTok != null) sendToken(outTok);

//存在する場合はトークンを送信します(outtok!= null)sendtoken(outtok);

// check if we should expect more tokens if (context.isEstablished()) break;

//(context.iseStablished())breakの場合、より多くのトークンが予想されるかどうかを確認します。

              // another token expected from peer
              inTok = readToken();
          } while (true);
        
      } catch (GSSException e) {
         print("GSSAPI error: " + e.getMessage());
      }
        
7.4.5. initSecContext
7.4.5. initseccontext

public int initSecContext(InputStream inStream, OutputStream outStream) throws GSSException

public initseccontext(inputstream instream、outputstream outstreem)は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.

コンテキストイニシエーターによって呼び出され、コンテキスト作成プロセスを開始します。これは、バイトアレイベースの方法と同等です。この方法では、アウトストリームに出力トークンを書き込む場合があります。これは、アプリケーションが受け入れコールで処理するためにピアに送信する必要があります。通常、アプリケーションは、2つのピア間の接続をカプセル化するOutputStreamのFlush()メソッドを呼び出すことにより、これを行います。アプリケーションはISESTABLISHPISHED()を呼び出して、このピアのコンテキスト確立フェーズが完了したかどうかを判断できます。ISESTABLIEDからの「false」の返品値は、より多くのトークンがInitsecContextメソッドに提供されることが予想されることを示しています。initseccontext()メソッドがピアのトークンを返す可能性があることに注意してください。これは、トークンをピアに送信する必要があることを示していますが、コンテキストのローカルエンドは現在完全に確立されています。

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.

インストール:ピアによって生成されたトークンが含まれています。このパラメーターは、最初の呼び出しで無視されます。

outStream: Output stream where the output token will be written. During the final stage of context establishment, there may be no bytes written.

アウトストリーム:出力トークンが記述される出力ストリーム。コンテキスト確立の最終段階では、書かれたバイトがない場合があります。

7.4.6. Example Code
7.4.6. 例コード

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アプリケーションは、通信ルーチンをカプセル化する入力ストリームと出力ストリームのカスタム実装を使用することが期待されています。たとえば、コンテキストで呼び出されると、アプリケーションの入力ストリームを簡単に読み取ると、トークンがピアから読み取られる可能性があり、アプリケーション出力ストリームの単純なフラッシュ()が以前に書かれたトークンをピアに送信する可能性があります。

      // 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);
        

// send token if present if (os.size() > 0) sendToken(os);

//存在する場合はトークンを送信します(os.size()> 0)sendtoken(os);

// check if we should expect more tokens if (context.isEstablished()) break;

//(context.iseStablished())breakの場合、より多くのトークンが予想されるかどうかを確認します。

// another token expected from peer is = recvToken();

//ピアから期待される別のトークンは= recvtoken();

} while (true);

} while(true);

      } catch (GSSException e) {
          print("GSSAPI error: " + e.getMessage());
      }
        
7.4.7. acceptSecContext
7.4.7. AcceptSecContext

public byte[] acceptSecContext(byte[] inTok, int offset, int len) throws GSSException

public byte [] AcceptSecContext(byte [] intok、int offset、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.

この方法では、アプリケーションがINITコールでさらに処理するためにピアに送信する必要があるという出力トークンを返す場合があります。

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.

「null」リターン値は、トークンをピアに送信する必要がないことを示します。アプリケーションはISESTABLISHPISHED()を呼び出して、このピアのコンテキスト確立フェーズが完了したかどうかを判断できます。ISESTABLISHED()からの「false」の返品値()は、この方法により多くのトークンが提供されることが予想されることを示しています。

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()がピアのトークンを返す可能性があることに注意してください。これは、トークンをピアに送信する必要があることを示していますが、コンテキストのローカルエンドは現在完全に確立されています。

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内のトークンの長さ(オフセットから始まります)。

7.4.8. Example Code
7.4.8. 例コード

// acquire server credentials GSSCredential server = mgr.createCredential(...);

//サーバー資格情報を取得gsscredential server = mgr.createcredential(...);

// create acceptor GSS-API context from the default provider GSSContext context = mgr.createContext(server, null);

//デフォルトのプロバイダーGSSContext Context = mgr.createContext(server、null)からAcceptor GSS-APIコンテキストを作成します。

      try {
          do {
              byte[] inTok = readToken();
        

byte[] outTok = context.acceptSecContext(inTok, 0, inTok.length);

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);

//(context.iseStablished())breakの場合、ローカルコンテキスト確立が完了したかどうかを確認します。} while(true);

      } catch (GSSException e) {
         print("GSS-API error: " + e.getMessage());
      }
        
7.4.9. acceptSecContext
7.4.9. AcceptSecContext

public void acceptSecContext(InputStream inStream, OutputStream outStream) throws GSSException

public void AcceptSecContext(inputStream instream、outputStream outstreem)は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メソッドによって処理するためにアプリケーションをピアに送信する必要があります。通常、アプリケーションは、2つのピア間の接続をカプセル化するOutputStreamのFlush()メソッドを呼び出すことにより、これを行います。アプリケーションはISESTABLISHPISHED()を呼び出して、このピアのコンテキスト確立フェーズが完了したかどうかを判断できます。ISESTABLISHED()からの「false」の返品値()は、この方法により多くのトークンが提供されることが予想されることを示しています。

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()がピアのトークンを返す可能性があることに注意してください。これは、トークンをピアに送信する必要があることを示していますが、コンテキストのローカルエンドは現在完全に確立されています。

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.

インストール:ピアによって生成されたトークンが含まれています。

outStream: Output stream where the output token will be written. During the final stage of context establishment, there may be no bytes written.

アウトストリーム:出力トークンが記述される出力ストリーム。コンテキスト確立の最終段階では、書かれたバイトがない場合があります。

7.4.10. Example Code
7.4.10. 例コード

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アプリケーションは、通信ルーチンをカプセル化する入力ストリームと出力ストリームのカスタム実装を使用することが期待されています。たとえば、コンテキストで呼び出されると、アプリケーションの入力ストリームを簡単に読み取ると、トークンがピアから読み取られる可能性があり、アプリケーション出力ストリームの単純なフラッシュ()が以前に書かれたトークンをピアに送信する可能性があります。

// acquire server credentials GSSCredential server = mgr.createCredential(...);

//サーバー資格情報を取得gsscredential server = mgr.createcredential(...);

// create acceptor GSS-API context from the default provider GSSContext context = mgr.createContext(server, null);

//デフォルトのプロバイダーGSSContext Context = mgr.createContext(server、null)からAcceptor GSS-APIコンテキストを作成します。

      // use standard java.io stream objects
      ByteArrayOutputStream os = new ByteArrayOutputStream();
      ByteArrayInputStream is = null;
        
      try {
          do {
        
              is = recvToken();
        

context.acceptSecContext(is, os);

context.acceptseccontext(is、os);

// possibly send token to peer if (os.size() > 0) sendToken(os);

//おそらくトークンをPEERに送信するif(os.size()> 0)sendtoken(os);

// check if local context establishment is complete if (context.isEstablished()) break; } while (true);

//(context.iseStablished())breakの場合、ローカルコンテキスト確立が完了したかどうかを確認します。} while(true);

      } catch (GSSException e) {
          print("GSS-API error: " + e.getMessage());
      }
        
7.4.11. isEstablished
7.4.11. 確立されています

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」を返します。gssexceptionがスローされていない場合、initseccontext()またはacceptseccontext()への呼び出しの後に呼び出される必要があります。

7.4.12. dispose
7.4.12. 廃棄

public void dispose() throws GSSException

public void dispose()throws gssexception

Releases any system resources and cryptographic information stored in the context object. This will invalidate the context.

コンテキストオブジェクトに保存されているシステムリソースと暗号化情報をリリースします。これにより、コンテキストが無効になります。

7.4.13. getWrapSizeLimit
7.4.13. getWrapsizelimit

public int getWrapSizeLimit(int qop, boolean confReq, int maxTokenSize) throws GSSException

public int getWrapsizelimit(int qop、boolean 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.

この呼び出しを正常に完了しても、この能力がLAPが呼び出された時点でのシステムリソースの可用性に依存する可能性があるため、LAPが計算された長さのメッセージを保護できることを保証するものではありません。ただし、実装自体がラップで処理される可能性のあるメッセージの長さに上限を課す場合、実装はこの長さよりも大きい値を返すべきではありません。

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:ラップで放出されるトークンの目的の最大サイズ。

7.4.14. wrap
7.4.14. 包む

public byte[] wrap(byte[] inBuf, int offset, int len, MessageProp msgProp) throws GSSException

public byte [] wrap(byte [] inbuf、int offset、int len、messageprop msgprop)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.

確立されたセキュリティコンテキストで、セキュリティごとのセキュリティサービスを適用します。このメソッドは、暗号化マイクでトークンを返し、オプションで指定されたInBUFを暗号化する場合があります。この方法は、そのストリームのカウンターパートとの機能が同等です。返されたバイト配列には、マイクとメッセージの両方が含まれます。

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とプライバシー状態を設定します。目的のQOPを0に設定して、デフォルトのQOPを要求します。この方法から戻ってきたこのオブジェクトには、基礎となるメカニズムによってメッセージに適用された実際のプライバシー状態が含まれます。

7.4.15. wrap
7.4.15. 包む

public void wrap(InputStream inStream, OutputStream outStream, MessageProp msgProp) throws GSSException

public void wrap(inputstream instream、outputstream outstreem、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.

確立されたセキュリティコンテキストに、セキュリティごとのセキュリティサービスを適用できます。このメソッドは、暗号化マイクを備えたトークンを生成し、オプションでメッセージをインストールで暗号化する場合があります。アウトストリームには、マイクとメッセージの両方が含まれます。

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.

インストレーム:保護するアプリケーションデータを含む入力ストリーム。

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.

アウトストリーム:保護されたメッセージを書き込む出力ストリーム。アプリケーションは、アンラップ方法で処理するためにこれを他のピアに送信する責任があります。

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とプライバシー状態を設定します。目的のQOPを0に設定して、デフォルトのQOPを要求します。この方法から戻ってきたこのオブジェクトには、基礎となるメカニズムによってメッセージに適用された実際のプライバシー状態が含まれます。

7.4.16. unwrap
7.4.16. アンラップ

public byte[] unwrap(byte[] inBuf, int offset, int len, MessageProp msgProp) throws GSSException

public byte [] unwrap(byte [] inbuf、int offset、int len、messageprop msgprop)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.

ピアアプリケーションが使用して、ラップコールで生成されたトークンを処理します。この呼び出しは、そのストリームのカウンターパートとの機能が等しい。このメソッドは、ピアアプリケーションで提供されたメッセージをラップコールに返し、埋め込みマイクを確認します。

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.

オフセット:トークンが始まるインバフ内のオフセット。

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で説明されている補足情報が含まれます。ギャップの後。

7.4.17. unwrap
7.4.17. アンラップ

public void unwrap(InputStream inStream, OutputStream outStream, MessageProp msgProp) throws GSSException

public void unwrap(inputstream instream、outputstream outstreem、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.

ピアアプリケーションが使用して、ラップコールで生成されたトークンを処理します。この呼び出しは、バイト配列の対応物と機能が等しい。埋め込みマイクを確認して、ピアアプリケーションでラップコールに提供されるメッセージが生成されます。

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.

インストレーム:ピアから受け取ったGSS-APIラップトークンを含む入力ストリーム。

outStream: The output stream to which to write the application message.

アウトストリーム:アプリケーションメッセージを書き込む出力ストリーム。

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で説明されている補足情報が含まれます。ギャップの後。

7.4.18. getMIC
7.4.18. getmic

public byte[] getMIC(byte[] inMsg, int offset, int len, MessageProp msgProp) throws GSSException

public byte [] getmic(byte [] inmsg、int offset、int len、messageprop msgprop)gssexceptionをスローする

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.

ピアアプリケーションへの転送のために提供されたメッセージの暗号化マイクを含むトークンを返します。返されたトークンのユーザーメッセージをカプセル化するLapとは異なり、出力トークンではメッセージマイクのみが返されます。この方法は、そのストリームの対応物と機能が同一です。

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:マイクを生成するメッセージ。

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を設定します。目的のQOPをMSGPROPで0に設定して、デフォルトのQOPを要求します。または、MSGPROPの「null」を渡して、デフォルトのQOPを要求します。

7.4.19. getMIC
7.4.19. getmic

public void getMIC(InputStream inStream, OutputStream outStream, MessageProp msgProp) throws GSSException

public void 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.

ピアアプリケーションに転送するために、付属のメッセージ用の暗号化マイクを含むトークンを生成します。返されたトークンのユーザーメッセージをカプセル化するラップとは異なり、出力トークンではメッセージマイクのみが生成されます。この方法は、バイト配列の対応物と機能が同一です。

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.

インストラム:マイクを生成するメッセージを含む入力ストリーム。

outStream: Output stream to which to write the GSS-API output token.

アウトストリーム: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を設定します。目的のQOPをMSGPROPで0に設定して、デフォルトのQOPを要求します。または、MSGPROPの「null」を渡して、デフォルトのQOPを要求します。

7.4.20. verifyMIC
7.4.20. verifymic

public void verifyMIC(byte[] inTok, int tokOffset, int tokLen, byte[] inMsg, int msgOffset, int msgLen, MessageProp msgProp) throws GSSException

public void verifymic(byte [] intok、int tokoffset、int toklen、byte [] inmsg、int msgoffset、int msglen、messageprop msgprop)gssexcection

Verifies the cryptographic MIC, contained in the token parameter, over the supplied message. This method is equivalent in functionality to its stream counterpart.

入力されたメッセージを介して、トークンパラメーターに含まれる暗号化マイクを検証します。この方法は、そのストリームのカウンターパートとの機能が同等です。

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:Peerの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:暗号化マイクを検証するアプリケーションメッセージ。

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および補足情報が含まれ、トークンが複製、古い、順序外であるか、ギャップの後に到着したかを示します。機密保持状態は「false」に設定されます。

7.4.21. verifyMIC
7.4.21. verifymic

public void verifyMIC(InputStream tokStream, InputStream msgStream, MessageProp msgProp) throws GSSException

public void 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.

入力されたメッセージを介して、トークンパラメーターに含まれる暗号化マイクを検証します。この方法は、そのバイトアレイの対応物との機能が同等です。

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:暗号化マイクを検証するためのアプリケーションメッセージを含む入力ストリーム。

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および補足情報が含まれ、トークンが複製、古い、順序外であるか、ギャップの後に到着したかを示します。機密保持状態は「false」に設定されます。

7.4.22. export
7.4.22. 輸出

public byte[] export() throws GSSException

public byte [] export()throws 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つ以上の他のプロセスに渡します。

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インターフェイスのバイト配列コンストラクターに渡すと、2番目のプロセスでコンテキストを再アクティブ化するプロセス間トークンを作成します。特定のコンテキストの単一のインスタンス化のみが一度にアクティブになる場合があります。エクスポートされたセキュリティコンテキストにアクセスしようとするコンテキスト輸出国によるその後の試みは失敗します。

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実装でアプリケーションに戻す前にトークンを暗号化することを奨励されていますが、これは不可能です。したがって、アプリケーションは、プロセス間トークンを保護するように注意し、トークンが転送されるプロセスが信頼できることを確認する必要があります。

7.4.23. requestMutualAuth
7.4.23.

public void requestMutualAuth(boolean state) throws GSSException

public void requestmutualauth(boolean state)は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.

状態:コンテキストの確立中に相互認証を要求する必要があるかどうかを表すブール値。

7.4.24. requestReplayDet
7.4.24. RequestReplayDet

public void requestReplayDet(boolean state) throws GSSException

public void requestReplaydet(Boolean State)は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.

状態:リプレイ検出が確立されたコンテキストで望まれる場合のブール値。

7.4.25. requestSequenceDet
7.4.25. リクエストのquestencedet

public void requestSequenceDet(boolean state) throws GSSException

Public void requested akecendet(boolean state)は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.

状態:確立されたコンテキストでシーケンス検出が望まれる場合のブール値。

7.4.26. requestCredDeleg
7.4.26. requestcreddeleg

public void requestCredDeleg(boolean state) throws GSSException

public void requestcreddeleg(boolean state)は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.

状態:資格委任が望まれている場合のブール値。

7.4.27. requestAnonymity
7.4.27. requestanonymity

public void requestAnonymity(boolean state) throws GSSException

public void requestanonymity(boolean state)は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.

状態:匿名サポートが要求されている場合のブール表現。

7.4.28. requestConf
7.4.28. RequestConf

public void requestConf(boolean state) throws GSSException

public void requestconf(boolean state)は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.

状態:ブール値コンテキストに対して機密保持サービスが要求されるかどうかを示します。

7.4.29. requestInteg
7.4.29. RequestInteg

public void requestInteg(boolean state) throws GSSException

public void requestInteg(boolean state)は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.

状態:コンテキストに対して整合性サービスが要求されるかどうかを示すブール。

7.4.30. requestLifetime
7.4.30. requestlifetime

public void requestLifetime(int lifetime) throws GSSException

public void requestlifetime(int lifetime)は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.

Lifetime:秒単位での希望のコンテキストライフタイム。

7.4.31. setChannelBinding
7.4.31. SetChannelbinding

public void setChannelBinding(ChannelBinding cb) throws GSSException

public void setChannelbinding(チャネルバインディング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:使用するチャネルバインディング。

7.4.32. getCredDelegState
7.4.32. getcreddelegstate

public boolean getCredDelegState()

public boolean 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メソッドが「false」を返す場合、目的の状態を返します。それ以外の場合は、確立されたコンテキストよりも実際の状態を示します。

7.4.33. getMutualAuthState
7.4.33. getMutualAuthState

public boolean getMutualAuthState()

public boolean 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メソッドが「false」を返す場合、目的の状態を返します。それ以外の場合は、確立されたコンテキストよりも実際の状態を示します。

7.4.34. getReplayDetState
7.4.34. getReplayDetState

public boolean getReplayDetState()

public boolean 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メソッドが「false」を返す場合、目的の状態を返します。それ以外の場合は、確立されたコンテキストよりも実際の状態を示します。

7.4.35. getSequenceDetState
7.4.35. sakencedettateを取得します

public boolean getSequenceDetState()

public boolean getSequenceDettate()

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メソッドが「false」を返す場合、目的の状態を返します。それ以外の場合は、確立されたコンテキストよりも実際の状態を示します。

7.4.36. getAnonymityState
7.4.36. getAnonymityState

public boolean getAnonymityState()

public boolean 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.

これが匿名のコンテキストである場合、「true」を返します。コンテキストの確立が完了する前に発行された場合、またはISProtReadyメソッドが「false」を返す場合、目的の状態を返します。それ以外の場合は、確立されたコンテキストよりも実際の状態を示します。

7.4.37. isTransferable
7.4.37. iSトランスファー

public boolean isTransferable() throws GSSException

Public Boolean ISTransferable()Throws 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.

コンテキストがエクスポート方法を使用して他のプロセスに転送できる場合、「true」を返します。この呼び出しは、完全に確立されたコンテキストでのみ有効です。

7.4.38. isProtReady
7.4.38. ISProtReady

public boolean isProtReady()

public boolean 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.

コンテキストにわたってメッセージごとの操作を適用できる場合、「true」を返します。一部のメカニズムにより、コンテキストが完全に確立される前に、メッセージごとの操作の使用が可能になる場合があります。これはまた、GETメソッドが目的のものではなく実際のコンテキスト状態特性を返すことを示します。

7.4.39. getConfState
7.4.39. getConfState

public boolean getConfState()

public boolean 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メソッドが「false」を返す場合、目的の状態を返します。それ以外の場合は、確立されたコンテキストよりも実際の状態を示します。

7.4.40. getIntegState
7.4.40. GetIntegState

public boolean getIntegState()

public boolean 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メソッドが「false」を返す場合、目的の状態を返します。それ以外の場合は、確立されたコンテキストよりも実際の状態を示します。

7.4.41. getLifetime
7.4.41. GetLifetime

public int getLifetime()

public 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メソッドが「false」を返す場合、希望する寿命を返します。それ以外の場合は、コンテキストの残りの寿命を示します。

7.4.42. getSrcName
7.4.42. GetSrcName

public GSSName getSrcName() throws GSSException

public 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メソッドが「true」を返す後にのみ有効です。MNを返すことが保証されています。

7.4.43. getTargName
7.4.43. gettargname

public GSSName getTargName() throws GSSException

public 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メソッドが「true」を返す後にのみ有効です。MNを返すことが保証されています。

7.4.44. getMech
7.4.44. getMech

public Oid getMech() throws 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を返します。この方法は、コンテキストが完全に確立される前に呼び出される場合がありますが、返されるメカニズムは、ネゴシエートされたメカニズムの場合の連続した呼び出しで変化する場合があります。

7.4.45. getDelegCred
7.4.45. getDelegcred

public GSSCredential getDelegCred() throws GSSException

public 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に電話してください。この呼び出しは、完全に確立されたコンテキストでのみ有効です。

7.4.46. isInitiator
7.4.46. ISInitiator

public boolean isInitiator() throws GSSException

public boolean isInitiator()はGSSExceptionをスローします

Returns "true" if this is the initiator of the context. This call is only valid after the context creation process has started.

これがコンテキストのイニシエーターである場合、「true」を返します。この呼び出しは、コンテキスト作成プロセスが開始された後にのみ有効です。

7.5. public class MessageProp
7.5. パブリッククラスメッセージプロップ

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を示し、秘密保持サービスを発信者提供データに適用するかどうかを要求します(LAPのみ)。デフォルトのQOPを要求するには、QOPに0の値を使用する必要があります。

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インターフェイスのUNWRAPおよびVerifyMICメソッドとともに使用すると、このクラスのインスタンスを使用して、付属のメッセージで適用されたQOPおよび機密性サービスを示すために使用されます。VerifyMICの場合、機密保持状態は常に「偽」になります。これらのメソッドから戻ると、このオブジェクトには、処理されたトークンに適用される補足ステータス値も含まれます。補足的なステータス値は、シーケンスのトークン、ギャップトークン、または複製トークンの古いトークンを示すことができます。

7.5.1. Constructors
7.5.1. コンストラクター

public MessageProp(boolean privState)

Public MessageProp(boolean 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)

Public MessageProp(int qop、boolean 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。0を使用して、デフォルトのQOPを要求します。

privState: The desired privacy state. "true" for privacy and "false" for integrity only.

Privstate:望ましいプライバシー状態。プライバシーの「真」、整合性のみの「偽」のみ。

7.5.2. getQOP
7.5.2. getqop

public int getQOP()

public int getQop()

Retrieves the QOP value.

QOP値を取得します。

7.5.3. getPrivacy
7.5.3. GetPrivacy

public boolean getPrivacy()

public boolean getPrivacy()

Retrieves the privacy state.

プライバシー状態を取得します。

7.5.4. getMinorStatus
7.5.4. GetMinorStatus

public int getMinorStatus()

public int getMinorStatus()

Retrieves the minor status that the underlying mechanism might have set.

基礎となるメカニズムが設定したかもしれないマイナーなステータスを取得します。

7.5.5. getMinorString
7.5.5. GetMinorString

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.

メカニズム固有のエラーコードを説明する文字列を返します。メカニズムエラーコードが設定されていない場合、「null」が返されます。

7.5.6. setQOP
7.5.6. setqop

public void setQOP(int qopVal)

public void setqop(int qopval)

Sets the QOP value.

QOP値を設定します。

Parameters:

パラメーター:

qopVal: The QOP value to be set. Use 0 to request a default QOP value.

QOPVAL:設定するQOP値。0を使用して、デフォルトのQOP値を要求します。

7.5.7. setPrivacy
7.5.7. SetPrivacy

public void setPrivacy(boolean privState)

パブリックボイドsetprivacy(boolean privstate)

Sets the privacy state.

プライバシー状態を設定します。

Parameters:

パラメーター:

privState: The privacy state to set.

Privstate:設定するプライバシー状態。

7.5.8. isDuplicateToken
7.5.8. isduplicateToken

public boolean isDuplicateToken()

public boolean isduplicateToken()

Returns "true" if this is a duplicate of an earlier token.

これが以前のトークンの複製である場合、「true」を返します。

7.5.9. isOldToken
7.5.9. ISOLDTOKEN

public boolean isOldToken()

public boolean isoldtoken()

Returns "true" if the token's validity period has expired.

トークンの有効期間が失効した場合、「真」を返します。

7.5.10. isUnseqToken
7.5.10. isunseqtoken

public boolean isUnseqToken()

public boolean isunseqtoken()

Returns "true" if a later token has already been processed.

後のトークンがすでに処理されている場合、「true」を返します。

7.5.11. isGapToken
7.5.11. Isgaptoken

public boolean isGapToken()

public boolean isgaptoken()

Returns "true" if an expected per-message token was not received.

予想される誤検知トークンが受信されなかった場合、「真」を返します。

7.5.12. setSupplementaryStates
7.5.12. setSupplementateStates

public void setSupplementaryStates(boolean duplicate, boolean old, boolean unseq, boolean gap, int minorStatus, String minorString)

public void setSupplementarytates(ブールの複製、ブールン古、ブールアンセック、ブールギャップ、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".

複製:トークンが以前のトークンの複製である場合、「真」。それ以外の場合は、「false」。

old: "true" if the token's validity period has expired; otherwise, "false".

古い:トークンの有効期間が失効した場合は「真」。それ以外の場合は、「false」。

unseq: "true" if a later token has already been processed; otherwise, "false".

unseq:後のトークンがすでに処理されている場合、「真」。それ以外の場合は、「false」。

gap: "true" if one or more predecessor tokens have not yet been successfully processed; otherwise, "false".

ギャップ:1つ以上の前任者のトークンがまだ正常に処理されていない場合、「真」。それ以外の場合は、「false」。

minorStatus: The integer minor status code that the underlying mechanism wants to set.

MinorStatus:基礎となるメカニズムが設定したい整数マイナーステータスコード。

minorString: The textual representation of the minorStatus value.

MinorString:MinorStatus値のテキスト表現。

7.6. public class ChannelBinding
7.6. パブリッククラスチャネルバインディング

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でオプションです。したがって、チャネル結合情報はコンテキスト確立トークンで送信される可能性があるため、アプリケーションはチャネル結合コンポーネントとして機密データを使用しないでください。

7.6.1. Constructors
7.6.1. コンストラクター

public ChannelBinding(InetAddress initAddr, InetAddress acceptAddr, byte[] appData)

パブリックチャネルバインディング(InetAddress initaddr、inetAddress AcceptAddr、byte [] 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.

ユーザーがサポートしたアドレス情報とデータを使用して、チャネルバインディングオブジェクトを作成します。「null」値は、アプリケーションが指定したくない任意のフィールドに使用できます。

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:コンテキストイニシエーターのアドレス。「null」値は、アプリケーションがこの値を設定したくないことを示すために提供できます。

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:コンテキストアクセプターのアドレス。「null」値は、アプリケーションがこの値を設定したくないことを示すために提供できます。

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:チャネルバインディングの一部として使用されるアプリケーションサプライデータ。「null」値は、アプリケーションがこの値を設定したくないことを示すために提供できます。

public ChannelBinding(byte[] appData)

パブリックチャネルバインディング(byte [] appdata)

Creates a ChannelBinding object without any addressing information.

アドレス指定情報なしでチャネルバインディングオブジェクトを作成します。

Parameters:

パラメーター:

appData: Application supplied data to be used as part of the channel bindings.

AppData:チャネルバインディングの一部として使用するアプリケーションが提供されます。

7.6.2. getInitiatorAddress
7.6.2. GetInitiatorAddress

public InetAddress getInitiatorAddress()

public InetAddress getInitiatorAddress()

Returns the initiator's address for this channel binding. "null" is returned if the address has not been set.

このチャネル結合のイニシエーターのアドレスを返します。アドレスが設定されていない場合、「null」が返されます。

7.6.3. getAcceptorAddress
7.6.3. getacceptorAddress

public InetAddress getAcceptorAddress()

public InetAddress getAcceptorAddress()

Returns the acceptor's address for this channel binding. "null" is returned if the address has not been set.

このチャネルバインディングのアクセプターのアドレスを返します。アドレスが設定されていない場合、「null」が返されます。

7.6.4. getApplicationData
7.6.4. getApplicationData

public byte[] 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.

チャネルバインディングの一部として使用されているアプリケーションデータを返します。チャネルバインディングのアプリケーションデータが指定されていない場合、「null」が返されます。

7.6.5. equals
7.6.5. 平等です

public boolean equals(Object obj)

パブリックブールエコール(オブジェクト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つのチャネルバインディングが一致する場合、「true」を返します。(Java言語の仕様では、HashCode()メソッドが呼び出されたときに、Equals(オブジェクト)メソッドに従って等しい2つのオブジェクトが同じ整数結果を返す必要があることに注意してください。)

Parameters:

パラメーター:

obj: Another channel binding with which to compare.

OBJ:比較する別のチャネル結合。

7.7. public class Oid
7.7. パブリッククラスOID

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で定義されています。たとえば、Kerberos 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オブジェクトが含まれています。

7.7.1. Constructors
7.7.1. コンストラクター

public Oid(String strOid) throws GSSException

Public Oid(String Stroid)はGSSEXCEPTIONをスローします

Creates an Oid object from a string representation of its integer components (e.g., "1.2.840.113554.1.2.2").

整数コンポーネントの文字列表現からOIDオブジェクトを作成します(例: "1.2.840.113554.1.2.2")。

Parameters:

パラメーター:

strOid: The string representation for the oid.

ストロイド:OIDの文字列表現。

public Oid(InputStream derOid) throws 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.

public oid(inputstream deroid)throws gssexceptionは、derエンコードからoidオブジェクトを作成します。これは、タグと長さを含む完全なエンコードを指します。OIDの構造とエンコードは、ISOIEC-8824およびISOIEC-8825で定義されています。この方法は、バイト配列の対応物と機能が同一です。

Parameters:

パラメーター:

derOid: Stream containing the DER-encoded oid.

DEROID:derエンコードされたOIDを含むストリーム。

public Oid(byte[] DEROid) throws GSSException

public oid(byte [] 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を保存するバイトアレイ。

7.7.2. toString
7.7.2. ToString

public String toString()

public string toString()

Returns a string representation of the oid's integer components in dot separated notation (e.g., "1.2.840.113554.1.2.2").

DOT分離された表記(例: "1.2.840.113554.1.2.2")のOIDの整数コンポーネントの文字列表現を返します。

7.7.3. equals
7.7.3. 平等です

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値を表している場合、「true」を返します。(Java言語仕様[JLS]では、HashCode()メソッドが呼び出されたときに、Equals(オブジェクト)メソッドに従って等しい2つのオブジェクトが同じ整数結果を返す必要があることに注意してください。)

Parameters:

パラメーター:

obj: Another Oid object with which to compare.

OBJ:比較する別のOIDオブジェクト。

7.7.4. getDER
7.7.4. ゲットダー

public byte[] getDER()

public byte [] getder()

Returns the full ASN.1 DER encoding for this oid object, which includes the tag and length.

タグと長さを含むこのOIDオブジェクトの完全なasn.1 derエンコードを返します。

7.7.5. containedIn
7.7.5. に含まれた

public boolean containedIn(Oid[] oids)

public boolean contedinin(oid [] oids)

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.

OIDS:検索するOIDの配列。

7.8. public class GSSException extends Exception
7.8. パブリッククラスのGSSExcectionは例外を拡張します

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 Internationalizationテクニックを使用して、メッセージ文字列のローカル翻訳を提供することをお勧めします。

7.8.1. Static Constants
7.8.1. 静的定数

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 defiect_credential

Defective credential error. The value of this constant is 9.

欠陥のある資格情報エラー。この定数の値は9です。

public static final int DEFECTIVE_TOKEN

public static final int defiect_token

Defective token error. The value of this constant is 10.

欠陥のあるトークンエラー。この定数の値は10です。

public static final int FAILURE

public static final int障害

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

パブリックスタティックファイナルINTが許可されていません

Operation unauthorized error. The value of this constant is 15.

許可されていないエラー操作。この定数の値は15です。

public static final int UNAVAILABLE

public static final intは利用できません

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です。

7.8.2. Constructors
7.8.2. コンストラクター

public GSSException(int majorCode)

Public 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.

マジカル:この例外をスローするGSSエラーコード。

public GSSException(int majorCode, int minorCode, String minorString)

public gssexception(int mayarcode、int minalcode、string 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.

マジカル:この例外をスローするGSSエラーコード。

minorCode: The mechanism error code causing this exception to be thrown.

マイナーコード:この例外をスローするメカニズムエラーコード。

minorString: The textual explanation of the mechanism error code.

MinorString:メカニズムエラーコードのテキスト説明。

7.8.3. getMajor
7.8.3. getmajor

public int getMajor()

public int getmajor()

Returns the major code representing the GSS error code that caused this exception to be thrown.

この例外をスローする原因となったGSSエラーコードを表す主要なコードを返します。

7.8.4. getMinor
7.8.4. GetMinor

public int getMinor()

public 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の値は、メカニズムエラーコードが設定されていないことを示します。

7.8.5. getMajorString
7.8.5. getmajorstring

public String getMajorString()

パブリックストリングgetmajorstring()

Returns a string explaining the GSS major error code causing this exception to be thrown.

GSSの主要なエラーコードを説明する文字列を返し、この例外をスローします。

7.8.6. getMinorString
7.8.6. GetMinorString

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.

メカニズム固有のエラーコードを説明する文字列を返します。メカニズムエラーコードが設定されていない場合、「null」が返されます。

7.8.7. setMinor
7.8.7. SetMinor

public void setMinor(int minorCode, String message)

public void setminor(int minalcode、string message)

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.

マイナーコード:メカニズム固有のエラーコード。

message: A textual explanation of the mechanism error code.

メッセージ:メカニズムエラーコードのテキスト説明。

7.8.8. toString
7.8.8. ToString

public String toString()

public string toString()

Returns a textual representation of both the major and minor status codes.

主要なステータスコードとマイナーステータスコードの両方のテキスト表現を返します。

7.8.9. getMessage
7.8.9. getmessage

public String getMessage()

public string getMessage()

Returns a detailed message of this exception. Overrides Throwable.getMessage. It is customary in Java to use this method to obtain exception information.

この例外の詳細なメッセージを返します。Overrides throwable.getMessage。Javaでは、この方法を使用して例外情報を取得することが慣習です。

8. Sample Applications
8. サンプルアプリケーション
8.1. Simple GSS Context Initiator
8.1. 単純なGSSコンテキストイニシエーター

import org.ietf.jgss.*;

Import 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();
        

... ...

... ...

           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()) {
        

outToken = context.initSecContext(inToken, 0, inToken.length);

outtoken = context.initseccontext(inteken、0、intoken.length);

                      if (outToken != null)
                          writeGSSToken(outToken);
        
                      if (!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();

//メサージごとのルーチン(ラップ/アンラップなど)への複数の入出力引数のコンテナ。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();
        

// Set privacy to "false" and use the default QOP messgInfo.setPrivacy(false);

//プライバシーを「false」に設定し、デフォルトのqop messginfo.setprivacy(false)を使用します。

outToken = context.wrap(buffer, 0, buffer.length, messgInfo);

outtoken = context.wrap(buffer、0、buffer.length、messginfo);

writeGSSToken(outToken);

writegsstoken(token);

                      /*
                       * 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();
        
                      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());
                      ...
                      ...
        

}

}

...

...

...

...

} // end of doCommunication method

} // docommunicationメソッドの終わり

... ...

... ...

} // end of class SimpleClient

} // class simpleclientの終わり

8.2. Simple GSS Context Acceptor
8.2. 単純なGSSコンテキストアクセプター

import org.ietf.jgss.*;

Import 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.*;

Import org.ietf.jgss。*;

public class SimpleServer {

public class 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();
        

name = mgr.createName(serviceName, GSSName.NT_HOSTBASED_SERVICE);

name = mgr.createname(servicename、gssname.nt_hostbased_service);

cred = mgr.createCredential(name, GSSCredential.INDEFINITE_LIFETIME, null, GSSCredential.ACCEPT_ONLY);

cred = mgr.createcredention(name、gsscredential.indefinite_lifetime、null、gsscredential.accept_only);

// Loop infinitely while (true) {

//無限にループwhile(true){

                   Socket 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);
        
                      while (!context.isEstablished()) {
        
                          inToken = readGSSToken();
        

outToken = context.acceptSecContext(inToken, 0, inToken.length);

outtoken = context.acceptseccontext(inteken、0、inteken.length);

                          if (outToken != null)
                              writeGSSToken(outToken);
        

}

}

                      // SimpleServer wants confidentiality to be
                      // available.  Check for it.
                      if (!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!

//メッセージbuffer = context.unwrap(inteken、0、inteken.length、supplinfo);//例外がスローされていない場合は大丈夫です!

// 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);
        

// 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の実行方法

} // end of inner class ServerThread

} //インナークラスServerThreadの終了

... ...

... ...

} // end of class SimpleServer

} // class simpleserverの終わり

9. Security Considerations
9. セキュリティに関する考慮事項

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 Language Securityモデルにより、プラットフォームプロバイダーは、アプリケーションが必要とするリソースに対するポリシーベースの微細なアクセス制御を持つことができます。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プロバイダーがシステムリソースに対して持っている可能性のある特別な要件を認識する必要があります。たとえば、Kerberosプロバイダーは、初期資格情報を取得するために、キーディストリビューションセンター(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 SecurityEpermission」が付与される必要があります。)

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のローカルインスタンスに渡すために、FactoryのみがGSSManagerを通過するように呼び出して、目的のプロバイダーを使用します。(これには許可は必要ありません。)

10. Acknowledgments
10. 謝辞

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.

この提案されたAPIは、RFC 2743 [GSSAPIV2-Update]とRFC 2744 [GSSAPI-CBIND]の両方で概説されているように、IETFのCAT WGによって実行された以前の作業を活用しました。これらのドキュメントから、多くの概念的定義、実装の指示、および説明が含まれています。

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.

マイク・アイスラー、リン・リン、ラム・マルティ、マイケル・サルツ、およびサンの開発チームの他のメンバーに、彼らの有益な意見、コメント、提案について感謝します。

We would also like to thank Joe Salowey, and Michael Smith for many insightful ideas and suggestions that have contributed to this document.

また、この文書に貢献した多くの洞察に満ちたアイデアと提案について、Joe SaloweyとMichael Smithに感謝します。

11. Changes since RFC 2853
11. RFC 2853以降の変更

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クラスの静的定数として定義しました。これら2つのセクション間の一貫性のない注文により、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.

このドキュメントでは、両方のセクションのGSSステータスコードの数値を定義し、RFC 2853 [RFC2853]のセクション6.8.1からの元の順序を維持し、セクション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].

このドキュメントは、セクション7.2.2のNT_HOSTBASED_SERVICE OID値を更新し、RFC 2744 [GSSAPI-CBIND]のCビンディングと一致しています。

12. References
12. 参考文献
12.1. Normative References
12.1. 引用文献

[GSSAPI-Cbind] Wray, J., "Generic Security Service API Version 2 : C-bindings", RFC 2744, January 2000.

[GSSAPI-CBIND] WRAY、J。、「ジェネリックセキュリティサービスAPIバージョン2:C-Bindings」、RFC 2744、2000年1月。

[GSSAPIv2-UPDATE] Linn, J., "Generic Security Service Application Program Interface Version 2, Update 1", RFC 2743, January 2000.

[gssapiv2-update] linn、J。、 "ジェネリックセキュリティサービスアプリケーションプログラムインターフェイスバージョン2、更新1"、RFC 2743、2000年1月。

[RFC2025] Adams, C., "The Simple Public-Key GSS-API Mechanism (SPKM)", RFC 2025, October 1996.

[RFC2025] Adams、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] Bradner、S。、「要件レベルを示すためにRFCで使用するためのキーワード」、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] Kabat、J。およびM. Upadhyay、「ジェネリックセキュリティサービスAPIバージョン2:Java Bindings」、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] Zhu、L.、Jaganathan、K。、およびS. Hartman、「Kerberosバージョン5ジェネリックセキュリティサービスアプリケーションプログラムインターフェイス(GSS-API)メカニズム:バージョン2、RFC 4121、2005年7月。

12.2. Informative References
12.2. 参考引用

[JLS] Gosling, J., Joy, B., Steele, G., and G. Bracha "The Java Language Specification", Third Edition, http://java.sun.com/docs/books/jls/.

[JLS] Gosling、J.、Joy、B.、Steele、G。、およびG. Bracha「Java Language Specification」、第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 Google Inc. 1600 Amphitheater Parkway Mountain View、CA 94043 USA

   EMail: m.d.upadhyay+ietf@gmail.com
        

Seema Malkani ActivIdentity Corp. 6623 Dumbarton Circle Fremont, California 94555 USA

Seema Malkani Activeidentity Corp. 6623 Dumbarton Circle Fremont、California 94555 USA

   EMail: Seema.Malkani@gmail.com