[要約] RFC 2853は、Javaプログラムでのセキュリティサービスの実装を提供するためのAPIバインディングに関するものです。このRFCの目的は、Java開発者がセキュリティ機能を容易に組み込めるようにすることです。

Network Working Group                                          J. Kabat
Request for Comments: 2853                               ValiCert, Inc.
Category: Standards Track                                   M. Upadhyay
                                                 Sun Microsystems, Inc.
                                                              June 2000
        

Generic Security Service API Version 2 : Java Bindings

ジェネリックセキュリティサービスAPIバージョン2:Java Bindings

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) The Internet Society (2000). All Rights Reserved.

Copyright(c)The Internet Society(2000)。無断転載を禁じます。

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 specifies the Java bindings for GSS-API which is described at a language independent conceptual level in RFC 2743 [GSSAPIv2-UPDATE].

Generic Security Services Application Program Interface(GSS-API)は、アプリケーションプログラマーに、さまざまな基礎となる暗号化メカニズムの上のセキュリティサービスへの均一なアクセスを提供します。このドキュメントは、RFC 2743の言語独立概念レベルで説明されているGSS-APIのJavaバインディングを指定します[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. Examples of security mechanisms defined for GSS-API are The Simple Public-Key GSS-API Mechanism [SPKM] and The Kerberos Version 5 GSS-API Mechanism [KERBV5].

GSS-APIを使用すると、発信者アプリケーションがプリンシパルアイデンティティを認証し、ピアに権利を委任し、守秘義務や整合性などのセキュリティサービスを一人で適用することができます。GSS-APIについて定義されたセキュリティメカニズムの例は、単純な公開キーGSS-APIメカニズム[SPKM]とKerberosバージョン5 GSS-APIメカニズム[KERBV5]です。

Table of Contents

目次

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . .   5
   2.  GSS-API Operational Paradigm . . . . . . . . . . . . . . .   6
   3.  Additional Controls  . . . . . . . . . . . . . . . . . . .   8
   3.1.  Delegation . . . . . . . . . . . . . . . . . . . . . . .   9
   3.2.  Mutual Authentication  . . . . . . . . . . . . . . . . .  10
   3.3.  Replay and Out-of-Sequence Detection . . . . . . . . . .  10
   3.4.  Anonymous Authentication . . . . . . . . . . . . . . . .  11
   3.5.  Confidentiality  . . . . . . . . . . . . . . . . . . . .  12
   3.6.  Inter-process Context Transfer . . . . . . . . . . . . .  12
   3.7.  The Use of Incomplete Contexts . . . . . . . . . . . . .  13
      4.  Calling Conventions  . . . . . . . . . . . . . . . . . . .  13
   4.1.  Package Name . . . . . . . . . . . . . . . . . . . . . .  13
   4.2.  Provider Framework . . . . . . . . . . . . . . . . . . .  13
   4.3.  Integer types  . . . . . . . . . . . . . . . . . . . . .  14
   4.4.  Opaque Data types  . . . . . . . . . . . . . . . . . . .  14
   4.5.  Strings  . . . . . . . . . . . . . . . . . . . . . . . .  15
   4.6.  Object Identifiers . . . . . . . . . . . . . . . . . . .  15
   4.7.  Object Identifier Sets . . . . . . . . . . . . . . . . .  15
   4.8.  Credentials  . . . . . . . . . . . . . . . . . . . . . .  16
   4.9.  Contexts . . . . . . . . . . . . . . . . . . . . . . . .  18
   4.10.  Authentication tokens . . . . . . . . . . . . . . . . .  18
   4.11.  Interprocess tokens . . . . . . . . . . . . . . . . . .  18
   4.12.  Error Reporting . . . . . . . . . . . . . . . . . . . .  19
   4.12.1.  GSS status codes  . . . . . . . . . . . . . . . . . .  19
   4.12.2.  Mechanism-specific status codes . . . . . . . . . . .  21
   4.12.3.  Supplementary status codes  . . . . . . . . . . . . .  21
   4.13.  Names . . . . . . . . . . . . . . . . . . . . . . . . .  22
   4.14.  Channel Bindings  . . . . . . . . . . . . . . . . . . .  25
   4.15.  Stream Objects  . . . . . . . . . . . . . . . . . . . .  26
   4.16.  Optional Parameters . . . . . . . . . . . . . . . . . .  26
   5.  Introduction to GSS-API Classes and Interfaces . . . . . .  26
   5.1.  GSSManager class . . . . . . . . . . . . . . . . . . . .  26
   5.2.  GSSName interface  . . . . . . . . . . . . . . . . . . .  27
   5.3.  GSSCredential interface  . . . . . . . . . . . . . . . .  28
   5.4.  GSSContext interface . . . . . . . . . . . . . . . . . .  28
   5.5.  MessageProp class  . . . . . . . . . . . . . . . . . . .  30
   5.6.  GSSException class . . . . . . . . . . . . . . . . . . .  30
   5.7.  Oid class  . . . . . . . . . . . . . . . . . . . . . . .  30
   5.8.  ChannelBinding class . . . . . . . . . . . . . . . . . .  31
   6.  Detailed GSS-API Class Description . . . . . . . . . . . .  31
   6.1.  public abstract class GSSManager . . . . . . . . . . . .  31
   6.1.1.  Example Code . . . . . . . . . . . . . . . . . . . . .  32
   6.1.2.  getInstance  . . . . . . . . . . . . . . . . . . . . .  33
   6.1.3.  getMechs . . . . . . . . . . . . . . . . . . . . . . .  33
   6.1.4.  getNamesForMech  . . . . . . . . . . . . . . . . . . .  33
   6.1.5.  getMechsForName  . . . . . . . . . . . . . . . . . . .  33
   6.1.6.  createName . . . . . . . . . . . . . . . . . . . . . .  33
   6.1.7.  createName . . . . . . . . . . . . . . . . . . . . . .  34
   6.1.8.  createName . . . . . . . . . . . . . . . . . . . . . .  35
   6.1.9.  createName . . . . . . . . . . . . . . . . . . . . . .  35
   6.1.10.  createCredential  . . . . . . . . . . . . . . . . . .  36
   6.1.11.  createCredential  . . . . . . . . . . . . . . . . . .  36
   6.1.12.  createCredential  . . . . . . . . . . . . . . . . . .  37
   6.1.13.  createContext . . . . . . . . . . . . . . . . . . . .  37
   6.1.14.  createContext . . . . . . . . . . . . . . . . . . . .  38
   6.1.15.  createContext . . . . . . . . . . . . . . . . . . . .  38
   6.1.16.  addProviderAtFront  . . . . . . . . . . . . . . . . .  38
   6.1.16.1.  Example Code  . . . . . . . . . . . . . . . . . . .  39
      6.1.17.  addProviderAtEnd  . . . . . . . . . . . . . . . . . .  40
   6.1.17.1.  Example Code  . . . . . . . . . . . . . . . . . . .  41
   6.2.  public interface GSSName . . . . . . . . . . . . . . . .  42
   6.2.1.  Example Code . . . . . . . . . . . . . . . . . . . . .  42
   6.2.2.  Static Constants . . . . . . . . . . . . . . . . . . .  43
   6.2.3.  equals . . . . . . . . . . . . . . . . . . . . . . . .  44
   6.2.4.  equals . . . . . . . . . . . . . . . . . . . . . . . .  44
   6.2.5.  canonicalize . . . . . . . . . . . . . . . . . . . . .  44
   6.2.6.  export . . . . . . . . . . . . . . . . . . . . . . . .  45
   6.2.7.  toString . . . . . . . . . . . . . . . . . . . . . . .  45
   6.2.8.  getStringNameType  . . . . . . . . . . . . . . . . . .  45
   6.2.9.  isAnonymous  . . . . . . . . . . . . . . . . . . . . .  45
   6.2.10.  isMN  . . . . . . . . . . . . . . . . . . . . . . . .  45
   6.3.  public interface GSSCredential implements Cloneable  . .  45
   6.3.1.  Example Code . . . . . . . . . . . . . . . . . . . . .  46
   6.3.2.  Static Constants . . . . . . . . . . . . . . . . . . .  47
   6.3.3.  dispose  . . . . . . . . . . . . . . . . . . . . . . .  48
   6.3.4.  getName  . . . . . . . . . . . . . . . . . . . . . . .  48
   6.3.5.  getName  . . . . . . . . . . . . . . . . . . . . . . .  48
   6.3.6.  getRemainingLifetime . . . . . . . . . . . . . . . . .  48
   6.3.7.  getRemainingInitLifetime . . . . . . . . . . . . . . .  49
   6.3.8.  getRemainingAcceptLifetime . . . . . . . . . . . . . .  49
   6.3.9.  getUsage . . . . . . . . . . . . . . . . . . . . . . .  49
   6.3.10.  getUsage  . . . . . . . . . . . . . . . . . . . . . .  49
   6.3.11.  getMechs  . . . . . . . . . . . . . . . . . . . . . .  50
   6.3.12.  add . . . . . . . . . . . . . . . . . . . . . . . . .  50
   6.3.13.  equals  . . . . . . . . . . . . . . . . . . . . . . .  51
   6.4.  public interface GSSContext  . . . . . . . . . . . . . .  51
   6.4.1.  Example Code . . . . . . . . . . . . . . . . . . . . .  52
   6.4.2.  Static Constants . . . . . . . . . . . . . . . . . . .  54
   6.4.3.  initSecContext . . . . . . . . . . . . . . . . . . . .  54
   6.4.3.1.  Example Code . . . . . . . . . . . . . . . . . . . .  55
   6.4.4.  initSecContext . . . . . . . . . . . . . . . . . . . .  56
   6.4.4.1.  Example Code . . . . . . . . . . . . . . . . . . . .  56
   6.4.5.  acceptSecContext . . . . . . . . . . . . . . . . . . .  57
   6.4.5.1.  Example Code . . . . . . . . . . . . . . . . . . . .  58
   6.4.6.  acceptSecContext . . . . . . . . . . . . . . . . . . .  59
   6.4.6.1.  Example Code . . . . . . . . . . . . . . . . . . . .  59
   6.4.7.  isEstablished  . . . . . . . . . . . . . . . . . . . .  60
   6.4.8.  dispose  . . . . . . . . . . . . . . . . . . . . . . .  60
   6.4.9.  getWrapSizeLimit . . . . . . . . . . . . . . . . . . .  61
   6.4.10.  wrap  . . . . . . . . . . . . . . . . . . . . . . . .  61
   6.4.11.  wrap  . . . . . . . . . . . . . . . . . . . . . . . .  62
   6.4.12.  unwrap  . . . . . . . . . . . . . . . . . . . . . . .  63
   6.4.13.  unwrap  . . . . . . . . . . . . . . . . . . . . . . .  64
   6.4.14.  getMIC  . . . . . . . . . . . . . . . . . . . . . . .  65
   6.4.15.  getMIC  . . . . . . . . . . . . . . . . . . . . . . .  65
   6.4.16.  verifyMIC . . . . . . . . . . . . . . . . . . . . . .  66
      6.4.17.  verifyMIC . . . . . . . . . . . . . . . . . . . . . .  67
   6.4.18.  export  . . . . . . . . . . . . . . . . . . . . . . .  68
   6.4.19.  requestMutualAuth . . . . . . . . . . . . . . . . . .  68
   6.4.20.  requestReplayDet  . . . . . . . . . . . . . . . . . .  69
   6.4.21.  requestSequenceDet  . . . . . . . . . . . . . . . . .  69
   6.4.22.  requestCredDeleg  . . . . . . . . . . . . . . . . . .  69
   6.4.23.  requestAnonymity  . . . . . . . . . . . . . . . . . .  69
   6.4.24.  requestConf . . . . . . . . . . . . . . . . . . . . .  70
   6.4.25.  requestInteg  . . . . . . . . . . . . . . . . . . . .  70
   6.4.26.  requestLifetime . . . . . . . . . . . . . . . . . . .  70
   6.4.27.  setChannelBinding . . . . . . . . . . . . . . . . . .  71
   6.4.28.  getCredDelegState . . . . . . . . . . . . . . . . . .  71
   6.4.29.  getMutualAuthState  . . . . . . . . . . . . . . . . .  71
   6.4.30.  getReplayDetState . . . . . . . . . . . . . . . . . .  71
   6.4.31.  getSequenceDetState . . . . . . . . . . . . . . . . .  71
   6.4.32.  getAnonymityState . . . . . . . . . . . . . . . . . .  72
   6.4.33.  isTransferable  . . . . . . . . . . . . . . . . . . .  72
   6.4.34.  isProtReady . . . . . . . . . . . . . . . . . . . . .  72
   6.4.35.  getConfState  . . . . . . . . . . . . . . . . . . . .  72
   6.4.36.  getIntegState . . . . . . . . . . . . . . . . . . . .  72
   6.4.37.  getLifetime . . . . . . . . . . . . . . . . . . . . .  73
   6.4.38.  getSrcName  . . . . . . . . . . . . . . . . . . . . .  73
   6.4.39.  getTargName . . . . . . . . . . . . . . . . . . . . .  73
   6.4.40.  getMech . . . . . . . . . . . . . . . . . . . . . . .  73
   6.4.41.  getDelegCred  . . . . . . . . . . . . . . . . . . . .  73
   6.4.42.  isInitiator . . . . . . . . . . . . . . . . . . . . .  73
   6.5.  public class MessageProp . . . . . . . . . . . . . . . .  74
   6.5.1.  Constructors . . . . . . . . . . . . . . . . . . . . .  74
   6.5.2.  getQOP . . . . . . . . . . . . . . . . . . . . . . . .  75
   6.5.3.  getPrivacy . . . . . . . . . . . . . . . . . . . . . .  75
   6.5.4.  getMinorStatus . . . . . . . . . . . . . . . . . . . .  75
   6.5.5.  getMinorString . . . . . . . . . . . . . . . . . . . .  75
   6.5.6.  setQOP . . . . . . . . . . . . . . . . . . . . . . . .  75
   6.5.7.  setPrivacy . . . . . . . . . . . . . . . . . . . . . .  75
   6.5.8.  isDuplicateToken . . . . . . . . . . . . . . . . . . .  76
   6.5.9.  isOldToken . . . . . . . . . . . . . . . . . . . . . .  76
   6.5.10.  isUnseqToken  . . . . . . . . . . . . . . . . . . . .  76
   6.5.11.  isGapToken  . . . . . . . . . . . . . . . . . . . . .  76
   6.5.12.  setSupplementaryStates  . . . . . . . . . . . . . . .  76
   6.6.  public class ChannelBinding  . . . . . . . . . . . . . .  77
   6.6.1.  Constructors . . . . . . . . . . . . . . . . . . . . .  77
   6.6.2.  getInitiatorAddress  . . . . . . . . . . . . . . . . .  78
   6.6.3.  getAcceptorAddress . . . . . . . . . . . . . . . . . .  78
   6.6.4.  getApplicationData . . . . . . . . . . . . . . . . . .  78
   6.6.5.  equals . . . . . . . . . . . . . . . . . . . . . . . .  78
   6.7.  public class Oid . . . . . . . . . . . . . . . . . . . .  79
   6.7.1.  Constructors . . . . . . . . . . . . . . . . . . . . .  79
   6.7.2.  toString . . . . . . . . . . . . . . . . . . . . . . .  80
      6.7.3.  equals . . . . . . . . . . . . . . . . . . . . . . . .  80
   6.7.4.  getDER . . . . . . . . . . . . . . . . . . . . . . . .  80
   6.7.5.  containedIn  . . . . . . . . . . . . . . . . . . . . .  80
   6.8.  public class GSSException extends Exception  . . . . . .  80
   6.8.1.  Static Constants . . . . . . . . . . . . . . . . . . .  81
   6.8.2.  Constructors . . . . . . . . . . . . . . . . . . . . .  83
   6.8.3.  getMajor . . . . . . . . . . . . . . . . . . . . . . .  84
   6.8.4.  getMinor . . . . . . . . . . . . . . . . . . . . . . .  84
   6.8.5.  getMajorString . . . . . . . . . . . . . . . . . . . .  84
   6.8.6.  getMinorString . . . . . . . . . . . . . . . . . . . .  84
   6.8.7.  setMinor . . . . . . . . . . . . . . . . . . . . . . .  84
   6.8.8.  toString . . . . . . . . . . . . . . . . . . . . . . .  85
   6.8.9.  getMessage . . . . . . . . . . . . . . . . . . . . . .  85
   7.  Sample Applications  . . . . . . . . . . . . . . . . . . .  85
   7.1.  Simple GSS Context Initiator . . . . . . . . . . . . . .  85
   7.2.  Simple GSS Context Acceptor  . . . . . . . . . . . . . .  89
   8.  Security Considerations  . . . . . . . . . . . . . . . . .  93
   9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . .  94
   10.  Bibliography  . . . . . . . . . . . . . . . . . . . . . .  94
   11.  Authors' Addresses  . . . . . . . . . . . . . . . . . . .  95
   12.  Full Copyright Statement. . . . . . . . . . . . . . . . .  96
        
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を使用すると、発信者アプリケーションがプリンシパルアイデンティティを認証し、ピアに権利を委任し、守秘義務や整合性などのセキュリティサービスを一人で適用することができます。

This document leverages the work performed by the WG in the area of RFC 2743 [GSSAPIv2-UPDATE] and the C-bindings RFC 2744 [GSSAPI-C]. Whenever appropriate, text has been used from the C-bindings RFC 2744 to explain generic concepts and provide direction to the implementors.

このドキュメントでは、RFC 2743 [GSSAPIV2-Update]およびC-Bindings RFC 2744 [GSSAPI-C]の領域でWGが実行する作業を活用しています。適切な場合はいつでも、C-Bindings RFC 2744からテキストが使用されており、一般的な概念を説明し、実装者に方向性を提供します。

The design goals of this API have been to satisfy all the functionality defined in RFC 2743 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で定義されているすべての機能を満たし、これらのサービスをオブジェクト指向の方法で提供することでした。この仕様は、両方のタイプの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 a 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. GSS-API Operational Paradigm
2. GSS-API運用パラダイム

The Generic Security Service Application Programming Interface Version 2 [GSSAPIv2-UPDATE] defines a generic security API to calling applications. It allows a communicating application to authenticate the user associated with another application, to delegate rights to another application, and to apply security services such as confidentiality and integrity on a per-message basis.

一般的なセキュリティサービスアプリケーションプログラミングインターフェイスバージョン2 [GSSAPIV2-Update]は、呼び出しアプリケーションに一般的なセキュリティAPIを定義します。これにより、通信アプリケーションは、別のアプリケーションに関連付けられたユーザーを認証し、別のアプリケーションに権利を委任し、守秘義務や整合性などのセキュリティサービスを適用することができます。

There are four stages to using GSS-API:

GSS-APIを使用するには4つの段階があります。

1) The application acquires a set of credentials with which it may prove its identity to other processes. The application's credentials vouch for its global identity, which may or may not be related to any local username under which it may be running.

1) アプリケーションは、他のプロセスに対するアイデンティティを証明する可能性のある資格情報のセットを取得します。アプリケーションの資格情報は、そのグローバルアイデンティティを保証します。これは、実行中のローカルユーザー名に関連している場合と関連している場合があります。

2) A pair of communicating applications establish a joint security context using their credentials. The security context encapsulates shared state information, which is required in order that per-message security services may be provided. Examples of state information that might be shared between applications as part of a security context are cryptographic keys, and message sequence numbers. As part of the establishment of a security context, the context initiator is authenticated to the responder, and may require that the responder is authenticated back to the initiator. The initiator may optionally give the responder the right to initiate further security contexts, acting as an agent or delegate of the initiator. This transfer of rights is termed "delegation", and is achieved by creating a set of credentials, similar to those used by the initiating application, but which may be used by the responder.

2) 通信アプリケーションのペアは、資格情報を使用して共同セキュリティコンテキストを確立します。セキュリティコンテキストは、共有された状態情報をカプセル化します。これは、セキュリティごとのセキュリティサービスが提供されるために必要です。セキュリティコンテキストの一部としてアプリケーション間で共有される可能性のある状態情報の例は、暗号化キーとメッセージシーケンス番号です。セキュリティコンテキストの確立の一環として、コンテキストイニシエーターはレスポンダーに認証され、レスポンダーがイニシエーターに認証されることを要求する場合があります。イニシエーターは、オプションで、イニシエーターのエージェントまたは代表として機能し、さらなるセキュリティコンテキストを開始する権利を応答者に与えることができます。この権利の移転は「委任」と呼ばれ、開始アプリケーションで使用されるものと同様に、資格情報のセットを作成することで達成されますが、レスポンダーが使用する場合があります。

A GSSContext object is used to establish and maintain the shared information that makes up the security context. Certain GSSContext methods will generate a token, which applications treat as cryptographically protected, opaque data. The caller of such 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メソッドを使用してセキュリティコンテキストを無効にし、保持されているシステムまたは暗号化リソースをリリースします。アプリケーションの裁量で、単一の通信協会内で、複数のコンテキストを(連続または同時に)使用することもできます。

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

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.

相互認証Context Acceptorにそのアイデンティティを認証するイニシエーターに加えて、コンテキストアクセプターもイニシエーターに認証する必要があります。

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およびWRAPの操作は、メッセージが複製されているかどうかを検出するためにVerifyMICとUNWRAPを有効にするためのメッセージ番号の情報を含める必要があります。

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)を含める必要があります。MessionMicseming情報を含める必要があります。

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つのトークンを送信するために必要です。。

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

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

3.3. Replay and Out-of-Sequence Detection
3.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 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」を返すようになります。

3.4. Anonymous Authentication
3.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」を返す必要があります。

3.5. Confidentiality
3.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メソッドの制御下で、選択的に暗号化されます。

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

GSS-API V2 provides functionality which 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-API V2は、単一のマシン上のプロセス間でセキュリティコンテキストを転送できる機能を提供します。これらは、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 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 re-create 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トランスファー可能な方法を呼び出すと、コンテキストオブジェクトが転送可能かどうかを示します。

3.7. The Use of Incomplete Contexts
3.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を呼び出す前にこのメソッドを照会する必要があります。

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

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

4.1. Package Name
4.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 7.

このドキュメントで定義されているクラスとインターフェイスは、「org.ietf.jgss」と呼ばれるパッケージにあります。このAPIを使用したいアプリケーションは、セクション7に示すようにこのパッケージ名をインポートする必要があります。

4.2. Provider Framework
4.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 and another might contain components to support the SPKM mechanism. 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メカニズムをサポートできるようにするコンポーネントが含まれている場合があり、別のプロバイがSPKMメカニズムをサポートするコンポーネントを含む場合があります。メカニズムをプロバイダーから得たコンポーネントに特定の機能を委任することにより、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 a 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フレームワークを作成できます。

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

4.4. Opaque Data types
4.4. 不透明なデータ型

Java byte arrays are used to represent opaque data types which are consumed and produced by the GSS-API in the forms of tokens. Java arrays contain a length field which enables the users to easily determine their size. The language has automatic garbage collection which alleviates the need by developers to release memory and simplifies buffer ownership issues.

Javaバイト配列は、トークンの形でGSS-APIによって消費および生成される不透明なデータ型を表すために使用されます。Javaアレイには、ユーザーがサイズを簡単に決定できる長さフィールドが含まれています。この言語には、開発者がメモリをリリースし、バッファーの所有権の問題を簡素化する必要性を軽減する自動ゴミコレクションがあります。

4.5. Strings
4.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バイトのユニコード文字として透過的に扱い、多くの地元の人々をサポートできます。テキストデータを返したり受け入れたりするすべてのルーチンは、文字列オブジェクトを使用します。

4.6. Object Identifiers
4.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」値を使用できます。

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

The Java bindings represents object identifiers 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, the Oid class includes a method which 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 complicated memory management issues of the C counterpart.

RFC 2743の完全な機能をサポートするために、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カウンターパートの複雑なメモリ管理の問題を排除します。

When ever 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」値を使用できます。詳細については、詳細な方法の説明を参照してください。

4.8. Credentials
4.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資格によって主張されたすべての主要なアイデンティティは、同じエンティティに属する必要がありますが、このプロパティの施行は実装固有の問題です。単一のGSSCREDENITIALオブジェクトは、取得されたすべての資格要素を表します。

The creation's 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のネットワークアイデンティティイメージに代わって行動することが許可されている場合選択したメカニズムを使用してセキュリティコンテキストを開始する目的で、そのアイデンティティに対応するプリンシパルが使用されます。

4) A user-configurable default identity should be used.

4) ユーザー構成可能なデフォルトのIDを使用する必要があります。

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

4.9. Contexts
4.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 which will determine the characteristics of the desired security context. When all the application desired characteristics have been set, the initiator will call the initSecContext method which will produce a token for consumption by the peer's acceptSecContext method. It is the responsibility of the application to deliver the authentication token(s) between the peer applications for processing. Upon completion of the context establishment phase, context attributes can be retrieved, by both the initiator and acceptor, using the accessor methods. These will reflect the actual attributes of the established context. At this point the context can be used by the application to apply cryptographic services to its data.

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

4.10. Authentication tokens
4.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 which allow the caller to supply input and output streams which will be used for the reading and writing of the token data.

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

4.11. Interprocess tokens
4.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 interprocess 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 interprocess tokens are protected in transit, and transferred only to processes that are trustworthy. An interprocess token is represented using a byte array emitted from the export method of the GSSContext interface. The receiver of the interprocess 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オブジェクトが無効になり、使用できなくなります。

4.12. Error Reporting
4.12. エラー報告

RFC 2743 defined the usage of major and minor status values for 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は、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. 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の機能に相当する、主要な値とマイナー値の両方のテキスト表現を取得する方法も含まれています。

4.12.1. GSS status codes
4.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オブジェクトの補足ステータスコードを埋めます。

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_MECH 1 An unsupported mechanism was requested.

bad_mech 1サポートされていないメカニズムが要求されました。

BAD_NAME 2 An invalid name was supplied.

bad_name 2無効な名前が提供されました。

BAD_NAMETYPE 3 A supplied name was of an unsupported type.

BAD_NAMETYPE 3付属の名前は、サポートされていないタイプでした。

BAD_BINDINGS 4 Incorrect channel bindings were supplied.

bad_bindings 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トークンには無効なマイクがありました。

NO_CRED 7 No credentials were supplied, or the credentials were unavailable or inaccessible.

NO_CRED 7資格情報は提供されていないか、資格情報が利用できないか、アクセスできませんでした。

NO_CONTEXT 8 Invalid context has been supplied.

NO_CONTEXT 8無効なコンテキストが提供されています。

DEFECTIVE_TOKEN 9 A supplied token was invalid.

Iftect_token 9付属のトークンは無効でした。

DEFECTIVE_CREDENTIAL 10 A supplied credential was invalid.

defiect_credential 10提供された資格情報は無効でした。

CREDENTIALS_EXPIRED 11 The referenced credentials have expired.

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

CONTEXT_EXPIRED 12 The context has expired.

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

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

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

BAD_QOP 14 The quality-of-protection requested could not be provided.

bad_qop 14要求された保護品質は提供できませんでした。

UNAUTHORIZED 15 The operation is forbidden by 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提供された名前はメカニズム名ではありませんでした。

OLD_TOKEN 19 The token's validity period has expired.

Old_token 19トークンの有効期間が期限切れになりました。

DUPLICATE_TOKEN 20 The token was a duplicate of an earlier version.

Duplicate_Token 20トークンは以前のバージョンの複製でした。

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

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

4.12.3. Supplementary status codes
4.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 which 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は、予想される1件のトークンを受け取っていません。

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

4.13. Names
4.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メソッドは、サポートされているName-Typeごとに実装選択の印刷可能な構文を使用する必要があります。印刷可能な名前タイプを取得するには、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 name-space 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 "MN"s 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オブジェクトへのコンテキストイニシエーターによって提示された内部名が複数のコンポーネントを持っていたとしても)。このような名前は、getSrcNameとgetTargnameのGSScontextインターフェイスによって放出される「内部メカニズム名、または「mn」と呼ばれ、名前は常にこのタイプです。一部のアプリケーションでは、認証操作のオーバーヘッドを発生させたくない場合はMNSを必要とする場合があるため、名前のバッファと名前のタイプだけでなく、この名前を作成するメカニズムOIDも使用する作成方法が提供されます。既存のGSSNAMEオブジェクトを扱う場合、一般的な内部名をMNに変換するためにCanOnicalizeメソッドが呼び出される場合があります。

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 an GSSName object on each name and invoking the equal method on each name from the 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. 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オブジェクトを作成し、ACLから各名前の等しいメソッドを呼び出すオーバーヘッドは法外な場合があります。このケースをサポートする別の方法として、GSS-APIは、直接比較できる隣接するバイト配列名の特別な形式を定義します(バイトごと)。比較に適した隣接する名前は、エクスポート方法によって生成されます。エクスポートされた名前は、バイト配列コンストラクターを使用し、nt_export_nameを名前型オブジェクト識別子として指定することにより、再インポートすることができます。結果のGSSNAME名もMNになります。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 how GSSName implementations should behave, and are not intended to be specific requirements of how names 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インターフェイスの実装の詳細を自由に決定できます。

4.14. Channel Bindings
4.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またはacceptの最初の呼び出しが実行される前に、setChannelbindingメソッドを使用して、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 MIC over this octet string and binds the MIC to the context establishment token emitted by 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はイニシエーターとアクセプターアドレス情報を連結し、アプリケーションはバイト配列を提供してオクテット文字列を形成します。このメカニズムは、このオクテット弦のマイクを計算し、GSScontextインターフェイスのinitメソッドによって放出されるコンテキスト確立トークンにマイクをバインドします。同じバインディングは、GSScontextオブジェクトのコンテキストアクセプターによって設定され、受け入れメソッドの処理中も同じ方法でマイクが計算されます。計算されたマイクは、トークンに見られるマイクと比較され、MICSが異なる場合、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 setting of the addressing information.

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

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

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

4.16. Optional Parameters
4.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. Methods overloading has also been used as a technique to indicate default parameters.

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

5. Introduction to GSS-API Classes and Interfaces
5. 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 API's 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 functionality implemented by each of the classes. Detailed description of these classes and their methods is presented in section 6.

このセクションでは、各クラスが実装する対応するRFC 2743機能も示しています。これらのクラスとその方法の詳細な説明は、セクション6に示されています。

5.1. GSSManager class
5.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.

Static Method getInstance()を使用して、デフォルトの実装を取得できます。GSSMANAGERクラスの独自の実装を提供したいアプリケーションは、単に抽象クラス自体を拡張できます。

This class contains equivalents of the following RFC 2743 routines:

このクラスには、次のRFC 2743ルーチンに相当するものが含まれています。

gss_import_name Create an internal name from 6.1.9- the supplied information. 6.1.12

GSS_IMPORT_NAME 6.1.9-から内部名を作成します。6.1.12

   gss_acquire_cred             Acquire credential             6.1.13-
                                for use.                       6.1.15
        

gss_import_sec_context Create a previously exported 6.1.18 context.

gss_import_sec_context以前にエクスポートされた6.1.18コンテキストを作成します。

   gss_indicate_mechs           List the mechanisms            6.1.6
                                supported by this GSS-API
                                implementation.
        

gss_inquire_mechs_for_name List the mechanisms 6.1.8 supporting the specified name type.

GSS_INQUIRE_MECHS_FOR_NAME指定された名前タイプをサポートするメカニズム6.1.8のリスト。

gss_inquire_names_for_mech List the name types 6.1.7 supported by the specified mechanism.

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

5.2. GSSName interface
5.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)
        

gss_display_name Covert internal name 6.2.7 representation to text format.

gss_display_nameカバー内部名6.2.7テキスト形式への表現。

gss_compare_name Compare two internal names. 6.2.3, 6.2.4

gss_compare_name 2つの内部名を比較します。6.2.3、6.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 6.1.11, mechanism name.

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

gss_export_name Convert a mechanism name to 6.2.6 export format.

GSS_EXPORT_NAMEメカニズム名を6.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.

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

5.3. GSSCredential interface
5.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 6.3.12 incrementally.

GSS_ADD_CREDは、資格情報を構成します6.3.12段階的に。

gss_inquire_cred Obtain information about 6.3.4,6.3.5 credential.

GSS_INQUIRE_CREDは、6.3.4,6.3.5の資格情報について情報を取得します。

gss_inquire_cred_by_mech Obtain per-mechanism 6.3.5-6.3.10 information about a credential.

GSS_INQUIRE_CRED_BY_MECHメカニズムごとの取得6.3.5-6.3.10資格に関する情報。

gss_release_cred Disposes of credentials 6.3.3 after use.

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

5.4. GSSContext interface
5.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)
        

gss_init_sec_context Initiate the creation of a 6.4.3, security context with a peer. 6.4.4

GSS_INIT_SEC_CONTEXT 6.4.3のセキュリティコンテキストの作成を開始します。6.4.4

gss_accept_sec_context Accept a security context 6.4.5, initiated by a peer. 6.4.6

gss_accept_sec_contextピアによって開始されたセキュリティコンテキスト6.4.5を受け入れます。6.4.6

gss_delete_sec_context Destroy a security context. 6.4.8

GSS_DELETE_SEC_CONTEXTセキュリティコンテキストを破壊します。6.4.8

gss_context_time Obtain remaining context 6.4.37 time.

gss_context_time残りのコンテキスト6.4.37時間を取得します。

gss_inquire_context Obtain context 6.4.29 to characteristics. 6.3.42

GSS_INQUIRE_CONTEXTコンテキスト6.4.29を特性に取得します。6.3.42

gss_wrap_size_limit Determine token-size limit 6.4.9 for gss_wrap.

gss_wrap_size_limit gss_wrapのトークンサイズ制限6.4.9を決定します。

gss_export_sec_context Transfer security context 6.4.18 to another process.

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

gss_get_mic Calculate a cryptographic 6.4.14, Message Integrity Code (MIC) 6.4.15 for a message.

GSS_GET_MICメッセージの暗号化6.4.14、メッセージ整合性コード(MIC)6.4.15を計算します。

gss_verify_mic Verify integrity on a received 6.4.16, message. 6.4.17

GSS_VERIFY_MIC受信した6.4.16、メッセージの整合性を検証します。6.4.17

gss_wrap Attach a MIC to a message and 6.4.10, optionally encrypt the message 6.4.11 content.

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

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

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

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. GSSContext does offer the functionality of destroying the locally-stored context information.

GSS_PROCESS_CONTEXT_TOKENルーチンが提供する機能は、Java Bindings仕様に含まれていません。GSS_DELETE_SEC_CONTEXTの対応する機能も、ピアトークンを返さないように変更されています。これは、RFC2743に記載されている推奨事項に従って提案されています。GSSContextは、ローカルに保存されたコンテキスト情報を破壊する機能を提供します。

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

5.6. GSSException class
5.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
        

gss_display_status Retrieve textual 6.8.5, 6.8.6, representation of error 6.8.8, 6.8.9 codes.

GSS_DISPLAY_STATUSテキスト6.8.5、6.8.6、エラー6.8.8、6.8.9コードの表現。

5.7. Oid class
5.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 6.7.5 is part of a set of oids.

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

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

6. Detailed GSS-API Class Description
6. 詳細な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クラスとインターフェイスのそれぞれが提供する必要があるすべての公開方法の詳細な説明をリストします。

6.1. public abstract class GSSManager
6.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 nametypes 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実装から利用可能なメカニズムと、これらのメカニズムがサポートするネメタイプを決定するためのアプリケーションの方法を提供します。default 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つの方法を除くすべてが抽象と宣言されています。これは、サブクラスがこれらの方法に完全な実装を提供する必要があることを意味します。これの唯一の例外は、デフォルトのサブクラスのインスタンスを返すためのプラットフォーム固有のコードがある静的メソッド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 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に追加される場合があります。

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

// What mechs are available to us? Oid[] supportedMechs = mgr.getMechs();

//どのようなメカが利用可能ですか?oid [] supportedmechs = mgr.getmechs();

// Set a preference for the provider to be used when support is needed // for the mechanisms "1.2.840.113554.1.2.2" and "1.3.6.1.5.5.1.1".

//サポートが必要なときにプロバイダーが使用されるように優先順位を設定します//メカニズム「1.2.840.113554.1.2.2 "および「1.3.6.1.5.5.1.1」。

   Oid krb = new Oid("1.2.840.113554.1.2.2");
   Oid spkm1 = new Oid("1.3.6.1.5.5.1.1");
        
   Provider p = (Provider) (new com.foo.security.Provider());
        
   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);

6.1.2. getInstance
6.1.2. GetInstance

public static GSSManager getInstance()

public static gssmanager getInstance()

Returns the default GSSManager implementation.

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

6.1.3. getMechs
6.1.3. getMechs

public abstract Oid[] getMechs()

パブリックアブストラクトoid [] getmechs()

Returns an array of Oid objects indicating 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」値が返されます(この例は、メカニズムが動的に構成され、現在メカニズムがインストールされていない場合です)。

6.1.4. getNamesForMech
6.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.

メカニズムを照会するためのOIDオブジェクトをメカにします。

6.1.5. getMechsForName
6.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.

名前タイプのOIDオブジェクトをnameType。

6.1.6. createName
6.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.

作成する名前の印刷可能な形式を表す文字列を作成します。

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. "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を調べる各メカニズムによって想定する必要があることを指定できます。

6.1.7. createName
6.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. "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」値を使用して、バイト配列を調べる各メカニズムによってメカニズム固有のデフォルト構文を想定する必要があることを指定できます。

6.1.8. createName
6.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 an 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 6.1.7 and then also the GSSName.canonicalize() described in 6.2.5.

隣接する文字列名を指定された名前空間から、メカニズム名(MN)であるGSSNameオブジェクトに変換する工場法。言い換えれば、この方法は2つのステップに相当するユーティリティです。6.1.7で説明されているcreateName、次に6.2.5で説明されているGSSName.canOnicalize()。

Parameters:

パラメーター:

nameStr The string representing a printable form of the name to create.

作成する名前の印刷可能な形式を表す文字列を作成します。

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. "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この名前を作成するメカニズムを指定します。

6.1.9. createName
6.1.9. CreateName

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

パブリックアブストラクト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 6.1.8 and then also the GSSName.canonicalize() described in 6.2.5.

指定された名前空間から名前を含む連続バイト配列をMNであるGSSNameオブジェクトに変換する工場メソッド。言い換えれば、この方法は2つのステップに相当するユーティリティです。6.1.8で説明されているcreateName、次に6.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. "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この名前を作成するメカニズムを指定します。

6.1.10. createCredential
6.1.10. CreateCredential

public abstract GSSCredential createCredential (int usage) throws GSSException

パブリックアブストラクトGSSCREDENTIAL CREATECREDENTIAL(int usage)Throws gssexception

Factory method for acquiring default credentials. This will cause the GSS-API to use system specific defaults for the set of mechanisms, name, and a DEFAULT lifetime.

デフォルトの資格情報を取得するための工場の方法。これにより、GSS-APIは、メカニズム、名前、およびデフォルトの寿命のセットにシステム固有のデフォルトを使用します。

Parameters:

パラメーター:

usage The intended usage for this credential object. The value of this parameter must be one of: GSSCredential.ACCEPT_AND_INITIATE, GSSCredential.ACCEPT_ONLY, GSSCredential.INITIATE_ONLY

この資格情報オブジェクトの意図した使用法を使用します。このパラメーターの値は、gsscredential.accept_and_initiate、gsscredential.accept_only、gsscredential.initiate_onlyの1つでなければなりません。

6.1.11. createCredential
6.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.

この資格情報が取得されるプリンシパルのアナム名。「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).

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

usage The intended usage for this credential object. The value of this parameter must be one of: GSSCredential.ACCEPT_AND_INITIATE, GSSCredential.ACCEPT_ONLY, GSSCredential.INITIATE_ONLY

この資格情報オブジェクトの意図した使用法を使用します。このパラメーターの値は、gsscredential.accept_and_initiate、gsscredential.accept_only、gsscredential.initiate_onlyの1つでなければなりません。

6.1.12. createCredential
6.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.

この資格情報が取得されるプリンシパルのアナム名。「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.

資格情報を取得するメカニズムの配列をメッカします。システム固有のデフォルトのメカニズムセットを要求するために、 "(oid [])null"を使用します。

usage The intended usage for this credential object. The value of this parameter must be one of: GSSCredential.ACCEPT_AND_INITIATE, GSSCredential.ACCEPT_ONLY, GSSCredential.INITIATE_ONLY

この資格情報オブジェクトの意図した使用法を使用します。このパラメーターの値は、gsscredential.accept_and_initiate、gsscredential.accept_only、gsscredential.initiate_onlyの1つでなければなりません。

6.1.13. createContext
6.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 default mechanism.

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

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

イニシエーターの資格情報を測定しました。「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.

生涯は、コンテキストのために、数秒でのリクエストの寿命。gsscontext.indefinite_lifetimeおよびgsscontext.default_lifetimeを使用して、無期限またはデフォルトのコンテキストの寿命を要求します。

6.1.14. createContext
6.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.

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

6.1.15. createContext
6.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.

以前にエクスポート方法から放出されたトークンをプロセステークします。

6.1.16. addProviderAtFront
6.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

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

6.1.16.1. Example Code
6.1.16.1. 例コード

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

(a、null)の以前の設定を覆わないと、リストは効果的に{(a、m3)、(b、null)、(a、null)、...}になります。

6.1.17. addProviderAtEnd
6.1.17. AddProviderAtend

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

パブリックアブストラクトAddProviderAtend(プロバイダーP、OID Mech)が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

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

6.1.17.1. Example Code
6.1.17.1. 例コード

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のメカニズムが必要な場合、システムのデフォルトプロバイダーを常に最初にチェックする必要があると仮定します。それは次のように電話をかけます:

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

6.2. public interface GSSName
6.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に基づいて導出できます。

6.2.1. Example Code
6.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);

6.2.2. Static Constants
6.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: { 1(iso), 3(org), 6(dod),
   1(internet), 5(security), 6(nametypes), 2(gss-host-based-services) }
        

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: { 1(iso), 3(org), 6(dod), 1(internet), 5(security),
   6(nametypes), 3(gss-anonymous-name) }
        

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: { 1(iso), 3(org), 6(dod),
   1(internet), 5(security), 6(nametypes), 4(gss-api-exported-name) }
        
6.2.3. equals
6.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 to compare with.

比較する別のgssnameオブジェクト。

6.2.4. equals
6.2.4. 平等です

public boolean equals(Object another)

パブリックブールエコール(オブジェクト別)

A variation of the equals method described in 6.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 6.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.)

オブジェクトをオーバーライドするために提供される6.2.3で説明されている等しい方法のバリエーション。実装クラスが継承するメソッド。動作は6.2.3の動作とまったく同じです。代わりに、エラーが発生する状況ではfalseが返されます。(Java言語の仕様では、HashCode()メソッドがそれらに呼び出されたときに、Equals(オブジェクト)メソッドに従って等しい2つのオブジェクトが同じ整数結果を返す必要があることに注意してください。)

Parameters:

パラメーター:

another GSSName object to compare with.

比較する別のgssnameオブジェクト。

6.2.5. canonicalize
6.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 6.1.9 or 6.1.10 that take the mechanism name as one of their parameters.

任意の内部名からメカニズム名(MN)を作成します。これは、メカニズム名をパラメーターの1つとしてとる6.1.9または6.1.10で説明されている工場の方法を使用することと同等です。

Parameters:

パラメーター:

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

名前の標準形式が要求されるメカニズムについては、OIDをメカにします。

6.2.6. export
6.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.

メカニズム名(MN)の標準的な連続バイト表現を返します。これは、承認関数による直接的なバイトによるバイトによるバイトによる比較に適しています。名前がMNでない場合、実装はname_not_mnステータスコードでgssexceptionをスローする場合があります。実装が例外をスローしないことを選択した場合、システム固有のデフォルトメカニズムを使用して、名前を正規化してからエクスポートする必要があります。出力バッファーのヘッダーの形式は、RFC 2743で指定されています。

6.2.7. toString
6.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メソッドを使用できます。

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

6.2.9. isAnonymous
6.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」を返します。

6.2.10. isMN
6.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.

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

6.3. public interface GSSCredential implements Cloneable
6.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_CREDEDに相当)を呼び出す必要があります。

Classes implementing this interface also implement the Cloneable interface. This indicates the 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()呼び出しの直前に呼び出されて、元の資格情報のコピーを保持する場合に役立ちます。

6.3.1. Example Code
6.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();

//資格情報CRED.DISPOSE()が保有するシステムリソースをリリースします。

6.3.2. Static Constants
6.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.

資格情報の使用フラグは、コンテキストの開始と受け入れの両方に使用できることを要求します。

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.

資格情報の使用フラグは、コンテキストの開始にのみ使用できるように要求します。

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.

資格情報の使用フラグは、コンテキストの受け入れにのみ使用できるように要求します。

public static final int DEFAULT_LIFETIME

public static final int default_lifetime

A lifetime constant representing the default credential lifetime.

デフォルトの資格情報のライフタイムを表す生涯定数。

This value must be set to 0.

この値は0に設定する必要があります。

public static final int INDEFINITE_LIFETIME A lifetime constant representing indefinite credential lifetime. This value must be set to the maximum integer value in Java - Integer.MAX_VALUE.

public static final int indefinite_lifetime無期限の資格的寿命を表す生涯定数。この値は、java -integer.max_valueの最大整数値に設定する必要があります。

6.3.3. dispose
6.3.3. 廃棄売り払う傾げる売り飛ばす傾く片寄る偏る傾ぐ捌く

public void dispose() throws GSSException

public void dispose()はgssexceptionをスローします

Releases any sensitive information that the GSSCredential object may be containing. Applications should call this method as soon as the credential is no longer needed to minimize the time any sensitive information is maintained.

GSSCREDENTIALオブジェクトが含む可能性のある機密情報を解放します。機密情報が維持される時間を最小限に抑えるために、資格情報が不要になったらすぐにアプリケーションを呼び出す必要があります。

6.3.4. getName
6.3.4. getName

public GSSName getName() throws GSSException

public gssname getname()throws gssexception

Retrieves the name of the entity that the credential asserts.

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

6.3.5. getName
6.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 7.3.3.

資格情報が主張するエンティティのメカニズム名を取得します。7.3.3で返された名前のCanonicalize()を呼び出すことに相当します。

Parameters:

パラメーター:

mechOID The mechanism for which information should be returned.

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

6.3.6. getRemainingLifetime
6.3.6. getRemaininglifetime

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

6.3.7. getRemainingInitLifetime
6.3.7. getRemaininInitLifetime

public int getRemainingInitLifetime(Oid mech) throws GSSException

public int getRemaininInitlifetime(oid mech)はgssexceptionをスローします

Returns the remaining lifetime is 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.

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

6.3.8. getRemainingAcceptLifetime
6.3.8. getRemainAcceptLifetime

public int getRemainingAcceptLifetime(Oid mech) throws GSSException

public int getRemainicAcceptlifetime(OID MECH)はGSSEXCEPTIONをスローします

Returns the remaining lifetime is 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.

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

6.3.9. getUsage
6.3.9. getUsage

public int getUsage() throws GSSException

public int getUsage()はgssexceptionをスローします

Returns the credential usage flag. The return value will be one of GSSCredential.INITIATE_ONLY, GSSCredential.ACCEPT_ONLY, or GSSCredential.INITIATE_AND_ACCEPT.

資格情報の使用フラグを返します。返品値は、gsscredential.initiate_only、gsscredential.accept_only、またはgsscredential.initiate_and_acceptの1つになります。

6.3.10. getUsage
6.3.10. getUsage

public int getUsage(Oid mechOID) throws GSSException

public int getusage(oid mechoid)はgssexceptionを投げます

Returns the credential usage flag for the specified credential mechanism. The return value will be one of GSSCredential.INITIATE_ONLY, GSSCredential.ACCEPT_ONLY, or GSSCredential.INITIATE_AND_ACCEPT.

指定された資格情報メカニズムの資格情報の使用フラグを返します。返品値は、gsscredential.initiate_only、gsscredential.accept_only、またはgsscredential.initiate_and_acceptの1つになります。

Parameters:

パラメーター:

mechOID The mechanism for which information should be returned.

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

6.3.11. getMechs
6.3.11. getMechs

public Oid[] getMechs() throws GSSException

public oid [] getMechs()はGSSEXCEPTIONをスローします

Returns an array of mechanisms supported by this credential.

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

6.3.12. add
6.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)throws 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.

この資格情報が取得されるプリンシパルのアナム名。「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.

初期段階では、資格情報がセキュリティコンテキストの開始に有効である秒数。gsscredential.indefinite_lifetimeを使用して、資格情報に最大許可された寿命があることを要求します。gsscredential.default_lifetimeを使用して、デフォルトの資格情報のライフタイムを要求します。

acceptLifetime The number of seconds that credentials should remain valid for accepting 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.

AcceptLifetime資格情報がセキュリティコンテキストを受け入れるために有効な秒数を受け入れます。gsscredential.indefinite_lifetimeを使用して、資格情報に最大許可された寿命があることを要求します。gsscredential.default_lifetimeを使用して、デフォルトの資格情報のライフタイムを要求します。

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

メカは、資格情報を取得するメカニズムをメカにします。

usage The intended usage for this credential object. The value of this parameter must be one of: GSSCredential.ACCEPT_AND_INITIATE, GSSCredential.ACCEPT_ONLY, GSSCredential.INITIATE_ONLY

この資格情報オブジェクトの意図した使用法を使用します。このパラメーターの値は、gsscredential.accept_and_initiate、gsscredential.accept_only、gsscredential.initiate_onlyの1つでなければなりません。

6.3.13. equals
6.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 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つのGSSCREDENTIALSが同じエンティティを参照する場合、「TRUE」を返します。それ以外の場合は「偽」。(Java言語の仕様では、HashCode()メソッドがそれらに呼び出されたときに、Equals(オブジェクト)メソッドに従って等しい2つのオブジェクトが同じ整数結果を返す必要があることに注意してください。)

Parameters:

パラメーター:

another Another GSSCredential object for comparison.

比較のためのもう1つのGSSCREDENTIALオブジェクト。

6.4. public interface GSSContext
6.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 which aren't fully established.

コンテキスト確立フェーズは、Context InitiatorによるINITメソッドへの最初の呼び出しから始まります。このフェーズでは、InitsecContextとAcceptSecContextメソッドは、呼び出しアプリケーションがピアに送信する必要があるGSS-API認証トークンを生成します。任意の時点でエラーが発生した場合、例外がスローされ、コードがキャッチブロックで実行を開始します。そうでない場合、コードの通常のフローが継続され、アプリケーションはISESTABLED()メソッドを呼び出すことができます。この方法がfalseを返す場合、コンテキスト確立フェーズを継続するために、トークンがピアから必要であることを示します。コンテキストのローカルエンドが確立されるという真の信号の返品値。これには、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.

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

6.4.1. Example Code
6.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( "Confidentlisity Security Service Available");

if (context.getIntegState()) print("Integrity security service available");

if(context.getIntegstate())print( "Integrity Security Service Available");

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

// qop = 0を使用して、[appmsg、// [appmsg]を提供するアプリケーションでラップを実行し、プライバシーサービスbyte [] 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();

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

6.4.2. Static Constants
6.4.2. 静的定数

public static final int DEFAULT_LIFETIME

public static final int default_lifetime

A lifetime constant representing the default context lifetime. This value must be set to 0.

デフォルトのコンテキストの寿命を表す生涯定数。この値は0に設定する必要があります。

public static final int INDEFINITE_LIFETIME

public static final int indefinite_lifetime

A lifetime constant representing indefinite context lifetime. This value must be set to the maximum integer value in Java - Integer.MAX_VALUE.

無期限の文脈の寿命を表す生涯定数。この値は、java -integer.max_valueの最大整数値に設定する必要があります。

6.4.3. initSecContext
6.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 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 return a token for the peer, and isEstablished() 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.

コンテキストの作成プロセスを開始するために、コンテキストイニシエーターによって呼び出されます。これは、トークンバッファーがストリームオブジェクトを使用する代わりにバイト配列として処理されることを除いて、ストリームベースの方法と同等です。このメソッドは、Acceptコールで処理するためにアプリケーションがピアに送信する必要がある出力トークンを返す場合があります。通常、アプリケーションは、2つのピア間の接続をカプセル化するOutputStreamのFlush()メソッドを呼び出すことにより、これを行います。アプリケーションは、ISESTABLISHPED()を呼び出して、このピアのコンテキスト確立フェーズが完了したかどうかを判断できます。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.

トークンが開始される入力Buf内のオフセットをオフセットします。

len The length of the token within the inputBuf (starting at the offset).

inputBuf内のトークンの長さ(オフセットから始まる)。

6.4.3.1. Example Code
6.4.3.1. 例コード

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

{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());
   }
        
6.4.4. initSecContext
6.4.4. 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 return a token for the peer, and isEstablished() 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()メソッドを呼び出すことにより、これを行います。アプリケーションは、ISESTABLISHPED()を呼び出して、このピアのコンテキスト確立フェーズが完了したかどうかを判断できます。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.

出力トークンが書き込まれる外部出力ストリーム。コンテキスト確立の最終段階では、書かれたバイトがない場合があります。

6.4.4.1. Example Code
6.4.4.1. 例コード

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実装オブジェクトを作成します。

// GSSContext wrapper implements interface GSSContext. GSSContext context = mgr.createContext(...);

// gsscontextラッパーはインターフェイスgsscontextを実装します。gsscontext context = mgr.createcontext(...);

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

try {

試す {

do { context.initSecContext(is, os);

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());
   }
        
6.4.5. acceptSecContext
6.4.5. 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 which the application will need to send to the peer for further processing by the init call.

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

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

Note that it is possible that acceptSecContext() return a token for the peer, and isEstablished() 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).

intok内のトークンの長さ(オフセットから始まる)。

6.4.5.1. Example Code
6.4.5.1. 例コード

// 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());
   }
        
6.4.6. acceptSecContext
6.4.6. 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()メソッドを呼び出すことにより、これを行います。アプリケーションは、ISESTABLISHPED()を呼び出して、このピアのコンテキスト確立フェーズが完了したかどうかを判断できます。ISESTABLISHED()からの「false」の返品値は、この方法により多くのトークンが提供されると予想されることを示しています。

Note that it is possible that acceptSecContext() return a token for the peer, and isEstablished() 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.

出力トークンが書き込まれる外部出力ストリーム。コンテキスト確立の最終段階では、書かれたバイトがない場合があります。

6.4.6.1. Example Code
6.4.6.1. 例コード

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

// 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());
   }
        
6.4.7. isEstablished
6.4.7. 確立されています

public boolean isEstablished()

パブリックブールisは確立されています()

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()への呼び出しの後に呼び出される必要があります。

6.4.8. dispose
6.4.8. 廃棄売り払う傾げる売り飛ばす傾く片寄る偏る傾ぐ捌く

public void dispose() throws GSSException

public void dispose()はgssexceptionをスローします

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

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

6.4.9. getWrapSizeLimit
6.4.9. 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が計算された長さのメッセージを保護できることを保証しません。ただし、実装自体が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.

Maxtは、ラップで放出されるトークンの目的の最大サイズを誘惑します。

6.4.10. wrap
6.4.10. 包むラップ覆うくるむ被う贏蔽う掩う

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

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 the actual privacy state that was applied to the message by the underlying mechanism.

希望のQOPとプライバシー状態を設定するためにアプリケーションで使用されるMessagePropのMSGPROPインスタンス。目的のQOPを0に設定して、デフォルトのQOPを要求します。このメソッドから戻った後、このオブジェクトには、基礎となるメカニズムによってメッセージに適用された実際のプライバシー状態が含まれます。

6.4.11. wrap
6.4.11. 包むラップ覆うくるむ被う贏蔽う掩う

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 which 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 write the protected message to. 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 the actual privacy state that was applied to the message by the underlying mechanism.

希望のQOPとプライバシー状態を設定するためにアプリケーションで使用されるMessagePropのMSGPROPインスタンス。目的のQOPを0に設定して、デフォルトのQOPを要求します。このメソッドから戻った後、このオブジェクトには、基礎となるメカニズムによってメッセージに適用された実際のプライバシー状態が含まれます。

6.4.12. unwrap
6.4.12. ラップを解除します

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

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 4.12.3 stating whether the token was a duplicate, old, out of sequence or arriving after a gap.

MSGPROPメソッドから戻ってきたこのオブジェクトには、適用されたQOP、メッセージのプライバシー状態、および4.12.3に記載されている補足情報が含まれます。トークンが重複、古、順番がないか、ギャップの後に到着したかを示します。

6.4.13. unwrap
6.4.13. ラップを解除します

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

public void unwrap(inputstream instream、outputstream outstream、messageprop msgprop)はgssexceptionをスローします

Used by the peer application to process tokens generated with the wrap call. This call is equal in functionality to its byte array counterpart. It will produce the message supplied in the peer application to the wrap call, verifying the embedded MIC.

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

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 write the application message to.

出力ストリームの外側に、アプリケーションメッセージを書き込みます。

msgProp Upon return from the method, this object will contain the applied QOP, the privacy state of the message, and supplementary information described in 4.12.3 stating whether the token was a duplicate, old, out of sequence or arriving after a gap.

MSGPROPメソッドから戻ってきたこのオブジェクトには、適用されたQOP、メッセージのプライバシー状態、および4.12.3に記載されている補足情報が含まれます。トークンが重複、古、順番がないか、ギャップの後に到着したかを示します。

6.4.14. getMIC
6.4.14. 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 to generate MIC over.

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

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.

希望のQOPを設定するためにアプリケーションで使用されるMessagePropのMSGPROPインスタンス。目的のQOPをMSGPROPで0に設定して、デフォルトのQOPを要求します。または、MSGPROPの「null」を渡して、デフォルトのQOPを要求します。

6.4.15. getMIC
6.4.15. getmic

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

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

ピアアプリケーションに転送するために、提供されたメッセージ用の暗号化マイクを含むトークンを生成します。返されたトークンのユーザーメッセージをカプセル化する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:

パラメーター:

inStream inStream Input stream containing the message to generate MIC over.

MICを生成するためのメッセージを含むインストリームインストリーム入力ストリーム。

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

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.

希望のQOPを設定するためにアプリケーションで使用されるMessagePropのMSGPROPインスタンス。目的のQOPをMSGPROPで0に設定して、デフォルトのQOPを要求します。または、MSGPROPの「null」を渡して、デフォルトのQOPを要求します。

6.4.16. verifyMIC
6.4.16. 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.

PeerのGetmicメソッドによって生成されたIntokトークン。

tokOffset The offset within the inTok where the token begins.

トークンが始まるintok内のオフセットをtokoffsetします。

tokLen The length of the token within the inTok (starting at the offset).

Toklen intok内のトークンの長さ(オフセットから始まる)。

inMsg Application message to verify the cryptographic MIC over.

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 4.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メソッドから戻ってきたこのオブジェクトには、4.12.3に記載されている適用されたQOPおよび補足情報が含まれます。トークンが複製、古、順序がないか、ギャップの後に到着したかを示します。機密保持状態は「false」に設定されます。

6.4.17. verifyMIC
6.4.17. 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 peer's getMIC method.

PeerのGetmicメソッドによって生成されたトークンを含むTokstream入力ストリーム。

msgStream Input stream containing the application message to verify the cryptographic MIC over.

アプリケーションメッセージを含むMSGSTREAM入力ストリーム暗号化マイクを確認します。

msgProp Upon return from the method, this object will contain the applied QOP and supplementary information described in 4.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メソッドから戻ってきたこのオブジェクトには、4.12.3に記載されている適用されたQOPおよび補足情報が含まれます。トークンが複製、古、順序がないか、ギャップの後に到着したかを示します。機密保持状態は「false」に設定されます。

6.4.18. export
6.4.18. 輸出エクスポート移出輸出する派遣する

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 interprocess token which, when passed to the byte array constructor of the GSSContext interface in another process, will re-activate the context in the second process. Only a single instantiation of a given context may be active at any one time; a subsequent attempt by a context exporter to access the exported security context will fail.

このメソッドは、セキュリティコンテキストを非アクティブ化し、別のプロセスでGSScontextインターフェイスのバイト配列コンストラクターに渡すと、インタープロセストークンを作成します。特定のコンテキストの単一のインスタンス化のみが一度にアクティブになる場合があります。エクスポートされたセキュリティコンテキストにアクセスしようとするコンテキスト輸出国によるその後の試みは失敗します。

The implementation may constrain the set of processes by which the interprocess 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 interprocess token may contain security-sensitive information (for example cryptographic keys). While mechanisms are encouraged to either avoid placing such sensitive information within interprocess 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 interprocess token, and ensure that any process to which the token is transferred is trustworthy.

インタープロセストークンには、セキュリティに敏感な情報(たとえば暗号化キー)が含まれる場合があります。メカニズムは、そのような機密情報の配置をインタープロセストークン内に配置しないようにするか、アプリケーションに戻す前にトークンを暗号化するために奨励されていますが、典型的なGSS-API実装ではこれは不可能かもしれません。したがって、アプリケーションはインタープロセストークンを保護するように注意し、トークンが転送されるプロセスが信頼できることを確認する必要があります。

6.4.19. requestMutualAuth
6.4.19. RequestMutualauth

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.

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

6.4.20. requestReplayDet
6.4.20. 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.

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

6.4.21. requestSequenceDet
6.4.21. Request akedencedet

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.

確立されたコンテキストでシーケンス検出が望まれているかどうかを表す状態ブール値。

6.4.22. requestCredDeleg
6.4.22. 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.

資格代表団が望まれているかどうかを表す状態ブール。

6.4.23. requestAnonymity
6.4.23. 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.

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

6.4.24. requestConf
6.4.24. 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.

ステートブールンコンテキストの秘密保持サービスが要求されるかどうかを示します。

6.4.25. requestInteg
6.4.25. 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.

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

6.4.26. requestLifetime
6.4.26. 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.

生涯、望ましいコンテキストのライフタイムが数秒で。

6.4.27. setChannelBinding
6.4.27. 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チャネルバインディング。

6.4.28. getCredDelegState
6.4.28. 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」を返す場合、それは目的の状態を返します。そうしないと、確立されたコンテキストで実際の状態を示します。

6.4.29. getMutualAuthState
6.4.29. 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」を返す場合、それは目的の状態を返します。そうしないと、確立されたコンテキストで実際の状態を示します。

6.4.30. getReplayDetState
6.4.30. 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」を返す場合、それは目的の状態を返します。そうしないと、確立されたコンテキストで実際の状態を示します。

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

public boolean getSequenceDetState()

public boolean get sakeencedettate()

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」を返す場合、それは目的の状態を返します。そうしないと、確立されたコンテキストで実際の状態を示します。

6.4.32. getAnonymityState
6.4.32. 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」を返す場合、それは目的の状態を返します。そうしないと、確立されたコンテキストで実際の状態を示します。

6.4.33. isTransferable
6.4.33. iStransferable

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」を返します。この呼び出しは、完全に確立されたコンテキストでのみ有効です。

6.4.34. isProtReady
6.4.34. 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メソッドが目的のものではなく実際のコンテキスト状態特性を返すことを示します。

6.4.35. getConfState
6.4.35. 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」を返す場合、それは目的の状態を返します。そうしないと、確立されたコンテキストで実際の状態を示します。

6.4.36. getIntegState
6.4.36. 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」を返す場合、それは目的の状態を返します。そうしないと、確立されたコンテキストで実際の状態を示します。

6.4.37. getLifetime
6.4.37. 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」を返す場合、それは望ましい寿命を返します。そうしないと、コンテキストの残りの寿命を示します。

6.4.38. getSrcName
6.4.38. 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を返すことが保証されています。

6.4.39. getTargName
6.4.39. 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を返すことが保証されています。

6.4.40. getMech
6.4.40. GetMech

public Oid getMech() throws GSSException

public Oid getMech()はGSSEXCEPTIONをスローします

Returns the mechanism oid for this context. This method may be called before the context is fully established, but the mechanism returned may change on successive calls in negotiated mechanism case.

このコンテキストのメカニズムOIDを返します。この方法は、コンテキストが完全に確立される前に呼び出される場合がありますが、返されるメカニズムは、ネゴシエートされたメカニズムの場合の連続した呼び出しで変化する場合があります。

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

6.4.42. isInitiator
6.4.42. 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」を返します。この呼び出しは、コンテキスト作成プロセスが開始された後にのみ有効です。

6.5. public class MessageProp
6.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を要求するには、0の値をQOPに使用する必要があります。

When used with the unwrap and verifyMIC methods of the GSSContext interface, an instance of this class will be used to indicate the applied QOP and confidentiality services over the supplied message. In the case of verifyMIC, the confidentiality state will always be "false". Upon return from these methods, this object will also contain any supplementary status values applicable to the processed token. The supplementary status values can indicate old tokens, out of sequence tokens, gap tokens or duplicate tokens.

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

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

public MessageProp(boolean privState)

Public MessageProp(boolean privstate)

Constructor which 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 which 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。プライバシーの「真」、整合性のみの「偽」のみ。

6.5.2. getQOP
6.5.2. getqop

public int getQOP()

public int getQop()

Retrieves the QOP value.

QOP値を取得します。

6.5.3. getPrivacy
6.5.3. GetPrivacy

public boolean getPrivacy()

public boolean getPrivacy()

Retrieves the privacy state.

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

6.5.4. getMinorStatus
6.5.4. GetMinorStatus

public int getMinorStatus()

public int getMinorStatus()

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

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

6.5.5. getMinorString
6.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は返されます。

6.5.6. setQOP
6.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値を要求します。

6.5.7. setPrivacy
6.5.7. SetPrivacy

public void setPrivacy(boolean privState)

Public void setPrivacy(boolean privstate)

Sets the privacy state.

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

Parameters:

パラメーター:

privState The privacy state to set.

設定するプライバシー状態をprivstate。

6.5.8. isDuplicateToken
6.5.8. DuplicateTokenです

public boolean isDuplicateToken()

public boolean isduplicateToken()

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

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

6.5.9. isOldToken
6.5.9. ISOLDTOKEN

public boolean isOldToken()

public boolean isoldtoken()

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

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

6.5.10. isUnseqToken
6.5.10. isunseqtoken

public boolean isUnseqToken()

public boolean isunseqtoken()

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

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

6.5.11. isGapToken
6.5.11. Isgaptoken

public boolean isGapToken()

public boolean isgaptoken()

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

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

6.5.12. setSupplementaryStates
6.5.12. setSupplementaties

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, false otherwise

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

old true if the token's validity period has expired, false otherwise

トークンの有効期間が失効した場合は古い真実で、そうでなければ偽り

unseq true if a later token has already been processed, false otherwise

unseq true後のトークンがすでに処理されている場合、それ以外の場合は偽り

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

1つ以上の前任者トークンがまだ正常に処理されていない場合、それ以外の場合はgap true

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

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

minorString the textual representation of the minorStatus value

MinorStatus値のテキスト表現をMinorString

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

6.6.1. Constructors
6.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 which 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」値は、アプリケーションがこの値を設定したくないことを示すために提供できます。

acceptAddrThe address of the context acceptor. "null" value can be supplied to indicate that the application does not want to set this value.

AcceptAddDrthe Context Acceptorのアドレス。「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アプリケーションは、チャネルバインディングの一部として使用するデータを提供しました。

6.6.2. getInitiatorAddress
6.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」が返されます。

6.6.3. getAcceptorAddress
6.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」が返されます。

6.6.4. getApplicationData
6.6.4. getApplicationData

public byte[] 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」が返されます。

6.6.5. equals
6.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 to compare with.

OBJ比較する別のチャネルバインディング。

6.7. public class Oid
6.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 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オブジェクトが含まれています。

6.7.1. Constructors
6.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

public Oid(inputstream deroid)はgssexceptionを投げます

Creates an Oid object from its DER encoding. This refers to the full encoding including tag and length. The structure and encoding of Oids is defined in ISOIEC-8824 and ISOIEC-8825. This method is identical in functionality to its byte array counterpart.

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

Parameters:

パラメーター:

derOid Stream containing the DER encoded oid.

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.

derエンコードされたoidを保存するデロイドバイトアレイ。

6.7.2. toString
6.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の整数コンポーネントの文字列表現を返します。

6.7.3. equals
6.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 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言語の仕様では、HashCode()メソッドがそれらに呼び出されたときに、Equals(オブジェクト)メソッドに従って等しい2つのオブジェクトが同じ整数結果を返す必要があることに注意してください。)

Parameters:

パラメーター:

obj Another Oid object to compare with.

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

6.7.4. getDER
6.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エンコードを返します。

6.7.5. containedIn
6.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.

oid検索するOIDの配列。

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

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

6.8.1. Static Constants
6.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.

チャネルバインディングの不一致エラー。

public static final int BAD_MECH

public static final int bad_mech

Unsupported mechanism requested error.

サポートされていないメカニズムはエラーを要求しました。

public static final int BAD_NAME

public static final int bad_name

Invalid name provided error.

無効な名前がエラーを提供しました。

public static final int BAD_NAMETYPE

public static final int bad_nameType

Name of unsupported type provided error.

サポートされていないタイプの名前はエラーを提供します。

public static final int BAD_STATUS

public static final int bad_status

Invalid status code error - this is the default status value.

無効なステータスコードエラー - これはデフォルトのステータス値です。

public static final int BAD_MIC

public static final int bad_mic

Token had invalid integrity check error.

トークンには、整合性チェックエラーが無効でした。

public static final int CONTEXT_EXPIRED

public static final int context_expired

Specified security context expired error.

指定されたセキュリティコンテキストの有効期限が切れました。

public static final int CREDENTIALS_EXPIRED

public static final int credentials_expired

Expired credentials detected error.

有効期限切れの資格情報はエラーを検出しました。

public static final int DEFECTIVE_CREDENTIAL

public static final int defiect_credential

Defective credential error.

欠陥のある資格誤差。

public static final int DEFECTIVE_TOKEN

public static final int defiect_token

Defective token error.

欠陥のあるトークンエラー。

public static final int FAILURE

public static final int障害

General failure, unspecified at GSS-API level.

一般的な障害、GSS-APIレベルで不特定。

public static final int NO_CONTEXT

public static final int no_context

Invalid security context error.

無効なセキュリティコンテキストエラー。

public static final int NO_CRED

public static final int no_cred

Invalid credentials error.

無効な資格情報エラー。

public static final int BAD_QOP

public static final int bad_qop

Unsupported QOP value error.

サポートされていないQOP値エラー。

public static final int UNAUTHORIZED

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

Operation unauthorized error.

許可されていないエラー操作。

public static final int UNAVAILABLE

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

Operation unavailable error.

操作不能なエラー。

public static final int DUPLICATE_ELEMENT

public static final int duplicate_element

Duplicate credential element requested error.

重複した資格情報要素要求エラー。

public static final int NAME_NOT_MN

public static final int name_not_mn

Name contains multi-mechanism elements error.

名前には、マルチメカニズム要素エラーが含まれています。

public static final int DUPLICATE_TOKEN

public static final int duplicate_token

The token was a duplicate of an earlier token. This is a fatal error code that may occur during context establishment. It is not used to indicate supplementary status values. The MessageProp object is used for that purpose.

トークンは、以前のトークンの複製でした。これは、コンテキスト確立中に発生する可能性のある致命的なエラーコードです。補足的なステータス値を示すために使用されません。MessagePropオブジェクトはその目的に使用されます。

public static final int OLD_TOKEN

public static final int old_token

The token's validity period has expired. This is a fatal error code that may occur during context establishment. It is not used to indicate supplementary status values. The MessageProp object is used for that purpose.

トークンの有効期間は期限切れになりました。これは、コンテキスト確立中に発生する可能性のある致命的なエラーコードです。補足的なステータス値を示すために使用されません。MessagePropオブジェクトはその目的に使用されます。

public static final int UNSEQ_TOKEN

public static final int unseq_token

A later token has already been processed. This is a fatal error code that may occur during context establishment. It is not used to indicate supplementary status values. The MessageProp object is used for that purpose.

後のトークンはすでに処理されています。これは、コンテキスト確立中に発生する可能性のある致命的なエラーコードです。補足的なステータス値を示すために使用されません。MessagePropオブジェクトはその目的に使用されます。

public static final int GAP_TOKEN

public static final int gap_token

An expected per-message token was not received. This is a fatal error code that may occur during context establishment. It is not used to indicate supplementary status values. The MessageProp object is used for that purpose.

予想されるメッセージごとのトークンは受け取られませんでした。これは、コンテキスト確立中に発生する可能性のある致命的なエラーコードです。補足的なステータス値を示すために使用されません。MessagePropオブジェクトはその目的に使用されます。

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

public GSSException(int majorCode)

パブリックgssexception(int mayarcode)

Creates a GSSException object with a specified major code.

指定された主要なコードを備えたGSSExceptionオブジェクトを作成します。

Parameters:

パラメーター:

majorCode The GSS error code causing this exception to be thrown.

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

Mayscode GSSエラーコードを使用して、この例外をスローします。

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

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

minorString The textual explanation of the mechanism error code.

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

6.8.3. getMajor
6.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エラーコードを表す主要なコードを返します。

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

6.8.5. getMajorString
6.8.5. getmajorstring

public String getMajorString()

public string getmajorstring()

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

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

6.8.6. getMinorString
6.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は返されます。

6.8.7. setMinor
6.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.

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

6.8.8. toString
6.8.8. ToString

public String toString()

public string toString()

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

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

6.8.9. getMessage
6.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では、この方法を使用して例外情報を取得することが慣習です。

7. Sample Applications
7. サンプルアプリケーション
7.1. Simple GSS Context Initiator
7.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 (ie. 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 peer = mgr.createname(servicename、

GSSName.NT_HOSTBASED_SERVICE);

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、inteken.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

} //クラスの終わりsimpleclient

7.2. Simple GSS Context Acceptor
7.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) {

//(true)whiledly -looplatelly(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 (ie. wrap/unwrap). MessageProp supplInfo = new MessageProp();

//メッセージごとのルーチン(つまり、wrap/unwrap)への複数の入出力引数のコンテナ。messageProp supplinfo = new MessageProp();

GSSContext secContext = null;

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

//ここで、クライアントから送信されたバイトを// //処理します。Inteken = readgsstoken();

// Unwrap the message buffer = context.unwrap(inToken, 0, inToken.length, supplInfo); // All ok if no exception was thrown!

//メッセージbuffer = context.unwrap(inted、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の終わり

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

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 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 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」パッケージの「セキュリティ」クラスのメソッドを通じてこのリストを変更する手段があります。ただし、これらの変更は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クラスを使用してプロバイダーを幅広にインストールし、必要に応じて適切なプロバイダーを自動的に見つけるためにシステムに依存します。(これには、申請に「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のローカルインスタンスに渡すために、GSSManagerが目的のプロバイダーを使用するように工場のみが呼び出すようにします。(これには許可は必要ありません。)

9. Acknowledgments
9. 謝辞

This proposed API leverages earlier work performed by the IETF's CAT WG as outlined in both RFC 2743 and RFC 2744. Many conceptual definitions, implementation directions, and explanations have been included from these documents.

この提案されたAPIは、RFC 2743とRFC 2744の両方で概説されているように、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に感謝します。

10. Bibliography
10. 書誌

[GSSAPIv2] Linn, J., "Generic Security Service Application Program Interface, Version 2", RFC 2078, January 1997.

[GSSAPIV2] Linn、J。、「ジェネリックセキュリティサービスアプリケーションプログラムインターフェイス、バージョン2」、RFC 2078、1997年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月。

[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月。

[KERBV5] Linn, J., "The Kerberos Version 5 GSS-API Mechanism", RFC 1964, June 1996.

[Kerbv5] Linn、J。、「Kerberosバージョン5 GSS-APIメカニズム」、RFC 1964、1996年6月。

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

[SPKM] Adams、C。、「シンプルなパブリックキーGSS-APIメカニズム」、RFC 2025、1996年10月。

11. Authors' Addresses
11. 著者のアドレス

Address comments related to this memorandum to:

この覚書に関連するコメントに対処してください。

        <cat-ietf@mit.edu>
        

Jack Kabat ValiCert, Inc. 339 N. Bernardo Avenue Mountain View, CA 94043, USA

Jack Kabat Valicert、Inc。339 N. Bernardo Avenue Mountain View、CA 94043、米国

   Phone: +1-650-567-5496
   EMail: jackk@valicert.com
        

Mayank Upadhyay Sun Microsystems, Inc. 901 San Antonio Road, MS CUP02-102 Palo Alto, CA 94303

Mayank Upadhyay Sun Microsystems、Inc。901 San Antonio Road、MS CUP02-102 Palo Alto、CA 94303

   Phone: +1-408-517-5956
   EMail: mdu@eng.sun.com
        
12. 完全な著作権声明

Copyright (C) The Internet Society (2000). All Rights Reserved.

Copyright(c)The Internet Society(2000)。無断転載を禁じます。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

このドキュメントと翻訳は他の人にコピーされて提供される場合があります。また、それについてコメントまたは説明する派生作品、またはその実装を支援することは、いかなる種類の制限なしに、準備、コピー、公開、および部分的に配布される場合があります。、上記の著作権通知とこの段落がそのようなすべてのコピーとデリバティブ作品に含まれている場合。ただし、このドキュメント自体は、インターネット協会や他のインターネット組織への著作権通知や参照を削除するなど、いかなる方法でも変更できない場合があります。インターネット標準プロセスに従うか、英語以外の言語に翻訳するために必要な場合に従う必要があります。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上記の限られた許可は永続的であり、インターネット社会またはその後継者または譲受人によって取り消されることはありません。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

このドキュメントと本書に含まれる情報は、「現状」に基づいて提供されており、インターネット社会とインターネットエンジニアリングタスクフォースは、ここにある情報の使用が行われないという保証を含むがこれらに限定されないすべての保証を否認します。特定の目的に対する商品性または適合性の権利または黙示的な保証を侵害します。

Acknowledgement

謝辞

Funding for the RFC Editor function is currently provided by the Internet Society.

RFCエディター機能の資金は現在、インターネット協会によって提供されています。