draft-ietf-kitten-rfc2853bis-04.txt   draft-ietf-kitten-rfc2853bis-05.txt 
Network Working Group M. Upadhyay Network Working Group M. Upadhyay
Internet-Draft Google Internet-Draft Google
Intended status: Standards Track S. Malkani Intended status: Standards Track S. Malkani
Expires: January 9, 2009 Sun Microsystems Expires: August 20, 2009 Sun Microsystems
July 8, 2008 February 16, 2009
Generic Security Service API Version 2 : Java Bindings Update Generic Security Service API Version 2 : Java Bindings Update
draft-ietf-kitten-rfc2853bis-04.txt draft-ietf-kitten-rfc2853bis-05.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any This Internet-Draft is submitted to IETF in full conformance with the
applicable patent or other IPR claims of which he or she is aware provisions of BCP 78 and BCP 79.
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on January 9, 2009. This Internet-Draft will expire on August 20, 2009.
Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document.
Abstract Abstract
The Generic Security Services Application Program Interface (GSS-API) The Generic Security Services Application Program Interface (GSS-API)
offers application programmers uniform access to security services offers application programmers uniform access to security services
atop a variety of underlying cryptographic mechanisms. This document atop a variety of underlying cryptographic mechanisms. This document
updates the Java bindings for the GSS-API that are specified in updates the Java bindings for the GSS-API that are specified in
"Generic Security Service API version 2 : Java Bindings" (RFC2853). "Generic Security Service API version 2 : Java Bindings" (RFC2853).
This document obsoletes RFC 2853 by making specific and incremental This document obsoletes RFC 2853 by making specific and incremental
clarifications and corrections to it in response to identification of clarifications and corrections to it in response to identification of
skipping to change at page 2, line 13 skipping to change at page 3, line 7
in "Generic Security Service Application Program Interface Version 2, in "Generic Security Service Application Program Interface Version 2,
Update 1" (RFC2743). The GSS-API allows a caller application to Update 1" (RFC2743). The GSS-API allows a caller application to
authenticate a principal identity, to delegate rights to a peer, and authenticate a principal identity, to delegate rights to a peer, and
to apply security services such as confidentiality and integrity on a to apply security services such as confidentiality and integrity on a
per-message basis. Examples of security mechanisms defined for GSS- per-message basis. Examples of security mechanisms defined for GSS-
API are "The Simple Public-Key GSS-API Mechanism" (RFC2025) and "The API are "The Simple Public-Key GSS-API Mechanism" (RFC2025) and "The
Kerberos Version 5 GSS-API Mechanism (RFC4121). Kerberos Version 5 GSS-API Mechanism (RFC4121).
Table of Contents Table of Contents
1. Conventions Used in This Document . . . . . . . . . . 6 1. Conventions Used in This Document . . . . . . . . . . . . 7
2. Introduction . . . . . . . . . . . . . . . . . . . . . 6 2. Introduction . . . . . . . . . . . . . . . . . . . . . . 7
3. GSS-API Operational Paradigm . . . . . . . . . . . . . 7 3. GSS-API Operational Paradigm . . . . . . . . . . . . . . 8
4. Additional Controls . . . . . . . . . . . . . . . . . 8 4. Additional Controls . . . . . . . . . . . . . . . . . . . 9
4.1. Delegation . . . . . . . . . . . . . . . . . . . . . . 9 4.1. Delegation . . . . . . . . . . . . . . . . . . . . . . . 10
4.2. Mutual Authentication . . . . . . . . . . . . . . . . 10 4.2. Mutual Authentication . . . . . . . . . . . . . . . . . . 11
4.3. Replay and Out-of-Sequence Detection . . . . . . . . . 10 4.3. Replay and Out-of-Sequence Detection . . . . . . . . . . 11
4.4. Anonymous Authentication . . . . . . . . . . . . . . . 11 4.4. Anonymous Authentication . . . . . . . . . . . . . . . . 12
4.5. Confidentiality . . . . . . . . . . . . . . . . . . . 12 4.5. Confidentiality . . . . . . . . . . . . . . . . . . . . . 13
4.6. Inter-process Context Transfer . . . . . . . . . . . . 12 4.6. Inter-process Context Transfer . . . . . . . . . . . . . 13
4.7. The Use of Incomplete Contexts . . . . . . . . . . . . 13 4.7. The Use of Incomplete Contexts . . . . . . . . . . . . . 14
5. Calling Conventions . . . . . . . . . . . . . . . . . 13 5. Calling Conventions . . . . . . . . . . . . . . . . . . . 14
5.1. Package Name . . . . . . . . . . . . . . . . . . . . . 14 5.1. Package Name . . . . . . . . . . . . . . . . . . . . . . 15
5.2. Provider Framework . . . . . . . . . . . . . . . . . . 14 5.2. Provider Framework . . . . . . . . . . . . . . . . . . . 15
5.3. Integer Types . . . . . . . . . . . . . . . . . . . . 15 5.3. Integer Types . . . . . . . . . . . . . . . . . . . . . . 16
5.4. Opaque Data Types . . . . . . . . . . . . . . . . . . 15 5.4. Opaque Data Types . . . . . . . . . . . . . . . . . . . . 16
5.5. Strings . . . . . . . . . . . . . . . . . . . . . . . 15 5.5. Strings . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.6. Object Identifiers . . . . . . . . . . . . . . . . . . 15 5.6. Object Identifiers . . . . . . . . . . . . . . . . . . . 16
5.7. Object Identifier Sets . . . . . . . . . . . . . . . . 15 5.7. Object Identifier Sets . . . . . . . . . . . . . . . . . 16
5.8. Credentials . . . . . . . . . . . . . . . . . . . . . 16 5.8. Credentials . . . . . . . . . . . . . . . . . . . . . . . 17
5.9. Contexts . . . . . . . . . . . . . . . . . . . . . . . 18 5.9. Contexts . . . . . . . . . . . . . . . . . . . . . . . . 19
5.10. Authentication Tokens . . . . . . . . . . . . . . . . 18 5.10. Authentication Tokens . . . . . . . . . . . . . . . . . . 19
5.11. Interprocess Tokens . . . . . . . . . . . . . . . . . 18 5.11. Interprocess Tokens . . . . . . . . . . . . . . . . . . . 19
5.12. Error Reporting . . . . . . . . . . . . . . . . . . . 19 5.12. Error Reporting . . . . . . . . . . . . . . . . . . . . . 20
5.12.1. GSS Status Codes . . . . . . . . . . . . . . . . . . . 19 5.12.1. GSS Status Codes . . . . . . . . . . . . . . . . . . . . 20
5.12.2. Mechanism-Specific Status Codes . . . . . . . . . . . 22 5.12.2. Mechanism-Specific Status Codes . . . . . . . . . . . . . 23
5.12.3. Supplementary Status Codes . . . . . . . . . . . . . . 22 5.12.3. Supplementary Status Codes . . . . . . . . . . . . . . . 23
5.13. Names . . . . . . . . . . . . . . . . . . . . . . . . 22 5.13. Names . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.14. Channel Bindings . . . . . . . . . . . . . . . . . . . 25 5.14. Channel Bindings . . . . . . . . . . . . . . . . . . . . 26
5.15. Stream Objects . . . . . . . . . . . . . . . . . . . . 26 5.15. Stream Objects . . . . . . . . . . . . . . . . . . . . . 27
5.16. Optional Parameters . . . . . . . . . . . . . . . . . 26 5.16. Optional Parameters . . . . . . . . . . . . . . . . . . . 27
6. Introduction to GSS-API Classes and Interfaces . . . . 26 6. Introduction to GSS-API Classes and Interfaces . . . . . 27
6.1. GSSManager class . . . . . . . . . . . . . . . . . . . 27 6.1. GSSManager class . . . . . . . . . . . . . . . . . . . . 28
6.2. GSSName interface . . . . . . . . . . . . . . . . . . 28 6.2. GSSName interface . . . . . . . . . . . . . . . . . . . . 29
6.3. GSSCredential interface . . . . . . . . . . . . . . . 28 6.3. GSSCredential interface . . . . . . . . . . . . . . . . . 29
6.4. GSSContext interface . . . . . . . . . . . . . . . . . 29 6.4. GSSContext interface . . . . . . . . . . . . . . . . . . 30
6.5. MessageProp class . . . . . . . . . . . . . . . . . . 30 6.5. MessageProp class . . . . . . . . . . . . . . . . . . . . 31
6.6. GSSException class . . . . . . . . . . . . . . . . . . 30 6.6. GSSException class . . . . . . . . . . . . . . . . . . . 31
6.7. Oid class . . . . . . . . . . . . . . . . . . . . . . 31 6.7. Oid class . . . . . . . . . . . . . . . . . . . . . . . . 32
6.8. ChannelBinding class . . . . . . . . . . . . . . . . . 31 6.8. ChannelBinding class . . . . . . . . . . . . . . . . . . 32
7. Detailed GSS-API Class Description . . . . . . . . . . 31 7. Detailed GSS-API Class Description . . . . . . . . . . . 32
7.1. public abstract class GSSManager . . . . . . . . . . . 31 7.1. public abstract class GSSManager . . . . . . . . . . . . 32
7.1.1. Example Code . . . . . . . . . . . . . . . . . . . . . 32 7.1.1. Example Code . . . . . . . . . . . . . . . . . . . . . . 33
7.1.2. getInstance . . . . . . . . . . . . . . . . . . . . . 33 7.1.2. getInstance . . . . . . . . . . . . . . . . . . . . . . . 34
7.1.3. getMechs . . . . . . . . . . . . . . . . . . . . . . . 33 7.1.3. getMechs . . . . . . . . . . . . . . . . . . . . . . . . 34
7.1.4. getNamesForMech . . . . . . . . . . . . . . . . . . . 33 7.1.4. getNamesForMech . . . . . . . . . . . . . . . . . . . . . 34
7.1.5. getMechsForName . . . . . . . . . . . . . . . . . . . 33 7.1.5. getMechsForName . . . . . . . . . . . . . . . . . . . . . 34
7.1.6. createName . . . . . . . . . . . . . . . . . . . . . . 34 7.1.6. createName . . . . . . . . . . . . . . . . . . . . . . . 35
7.1.7. createName . . . . . . . . . . . . . . . . . . . . . . 34 7.1.7. createName . . . . . . . . . . . . . . . . . . . . . . . 35
7.1.8. createName . . . . . . . . . . . . . . . . . . . . . . 35 7.1.8. createName . . . . . . . . . . . . . . . . . . . . . . . 36
7.1.9. createName . . . . . . . . . . . . . . . . . . . . . . 35 7.1.9. createName . . . . . . . . . . . . . . . . . . . . . . . 36
7.1.10. createCredential . . . . . . . . . . . . . . . . . . . 36 7.1.10. createCredential . . . . . . . . . . . . . . . . . . . . 37
7.1.11. createCredential . . . . . . . . . . . . . . . . . . . 36 7.1.11. createCredential . . . . . . . . . . . . . . . . . . . . 37
7.1.12. createCredential . . . . . . . . . . . . . . . . . . . 37 7.1.12. createCredential . . . . . . . . . . . . . . . . . . . . 38
7.1.13. createContext . . . . . . . . . . . . . . . . . . . . 37 7.1.13. createContext . . . . . . . . . . . . . . . . . . . . . . 38
7.1.14. createContext . . . . . . . . . . . . . . . . . . . . 38 7.1.14. createContext . . . . . . . . . . . . . . . . . . . . . . 39
7.1.15. createContext . . . . . . . . . . . . . . . . . . . . 38 7.1.15. createContext . . . . . . . . . . . . . . . . . . . . . . 39
7.1.16. addProviderAtFront . . . . . . . . . . . . . . . . . . 38 7.1.16. addProviderAtFront . . . . . . . . . . . . . . . . . . . 39
7.1.17. Example Code . . . . . . . . . . . . . . . . . . . . . 39 7.1.17. Example Code . . . . . . . . . . . . . . . . . . . . . . 40
7.1.18. addProviderAtEnd . . . . . . . . . . . . . . . . . . . 40 7.1.18. addProviderAtEnd . . . . . . . . . . . . . . . . . . . . 41
7.1.19. Example Code . . . . . . . . . . . . . . . . . . . . . 41 7.1.19. Example Code . . . . . . . . . . . . . . . . . . . . . . 42
7.2. public interface GSSName . . . . . . . . . . . . . . . 41 7.2. public interface GSSName . . . . . . . . . . . . . . . . 42
7.2.1. Example Code . . . . . . . . . . . . . . . . . . . . . 42 7.2.1. Example Code . . . . . . . . . . . . . . . . . . . . . . 43
7.2.2. Static Constants . . . . . . . . . . . . . . . . . . . 42 7.2.2. Static Constants . . . . . . . . . . . . . . . . . . . . 43
7.2.3. equals . . . . . . . . . . . . . . . . . . . . . . . . 43 7.2.3. equals . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.2.4. equals . . . . . . . . . . . . . . . . . . . . . . . . 44 7.2.4. equals . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.2.5. canonicalize . . . . . . . . . . . . . . . . . . . . . 44 7.2.5. canonicalize . . . . . . . . . . . . . . . . . . . . . . 45
7.2.6. export . . . . . . . . . . . . . . . . . . . . . . . . 44 7.2.6. export . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.2.7. toString . . . . . . . . . . . . . . . . . . . . . . . 44 7.2.7. toString . . . . . . . . . . . . . . . . . . . . . . . . 45
7.2.8. getStringNameType . . . . . . . . . . . . . . . . . . 45 7.2.8. getStringNameType . . . . . . . . . . . . . . . . . . . . 46
7.2.9. isAnonymous . . . . . . . . . . . . . . . . . . . . . 45 7.2.9. isAnonymous . . . . . . . . . . . . . . . . . . . . . . . 46
7.2.10. isMN . . . . . . . . . . . . . . . . . . . . . . . . . 45 7.2.10. isMN . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.3. public interface GSSCredential implements Cloneable . 45 7.3. public interface GSSCredential implements Cloneable . . . 46
7.3.1. Example Code . . . . . . . . . . . . . . . . . . . . . 46 7.3.1. Example Code . . . . . . . . . . . . . . . . . . . . . . 47
7.3.2. Static Constants . . . . . . . . . . . . . . . . . . . 47 7.3.2. Static Constants . . . . . . . . . . . . . . . . . . . . 48
7.3.3. dispose . . . . . . . . . . . . . . . . . . . . . . . 47 7.3.3. dispose . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.3.4. getName . . . . . . . . . . . . . . . . . . . . . . . 47 7.3.4. getName . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.3.5. getName . . . . . . . . . . . . . . . . . . . . . . . 47 7.3.5. getName . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.3.6. getRemainingLifetime . . . . . . . . . . . . . . . . . 48 7.3.6. getRemainingLifetime . . . . . . . . . . . . . . . . . . 49
7.3.7. getRemainingInitLifetime . . . . . . . . . . . . . . . 48 7.3.7. getRemainingInitLifetime . . . . . . . . . . . . . . . . 49
7.3.8. getRemainingAcceptLifetime . . . . . . . . . . . . . . 48 7.3.8. getRemainingAcceptLifetime . . . . . . . . . . . . . . . 49
7.3.9. getUsage . . . . . . . . . . . . . . . . . . . . . . . 49 7.3.9. getUsage . . . . . . . . . . . . . . . . . . . . . . . . 50
7.3.10. getUsage . . . . . . . . . . . . . . . . . . . . . . . 49 7.3.10. getUsage . . . . . . . . . . . . . . . . . . . . . . . . 50
7.3.11. getMechs . . . . . . . . . . . . . . . . . . . . . . . 49 7.3.11. getMechs . . . . . . . . . . . . . . . . . . . . . . . . 50
7.3.12. add . . . . . . . . . . . . . . . . . . . . . . . . . 49 7.3.12. add . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.3.13. equals . . . . . . . . . . . . . . . . . . . . . . . . 50 7.3.13. equals . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.4. public interface GSSContext . . . . . . . . . . . . . 50 7.4. public interface GSSContext . . . . . . . . . . . . . . . 51
7.4.1. Example Code . . . . . . . . . . . . . . . . . . . . . 51 7.4.1. Example Code . . . . . . . . . . . . . . . . . . . . . . 52
7.4.2. Static Constants . . . . . . . . . . . . . . . . . . . 53 7.4.2. Static Constants . . . . . . . . . . . . . . . . . . . . 54
7.4.3. initSecContext . . . . . . . . . . . . . . . . . . . . 53 7.4.3. initSecContext . . . . . . . . . . . . . . . . . . . . . 54
7.4.4. Example Code . . . . . . . . . . . . . . . . . . . . . 54 7.4.4. Example Code . . . . . . . . . . . . . . . . . . . . . . 55
7.4.5. initSecContext . . . . . . . . . . . . . . . . . . . . 54 7.4.5. initSecContext . . . . . . . . . . . . . . . . . . . . . 55
7.4.6. Example Code . . . . . . . . . . . . . . . . . . . . . 55 7.4.6. Example Code . . . . . . . . . . . . . . . . . . . . . . 56
7.4.7. acceptSecContext . . . . . . . . . . . . . . . . . . . 56 7.4.7. acceptSecContext . . . . . . . . . . . . . . . . . . . . 57
7.4.8. Example Code . . . . . . . . . . . . . . . . . . . . . 57 7.4.8. Example Code . . . . . . . . . . . . . . . . . . . . . . 58
7.4.9. acceptSecContext . . . . . . . . . . . . . . . . . . . 57 7.4.9. acceptSecContext . . . . . . . . . . . . . . . . . . . . 58
7.4.10. Example Code . . . . . . . . . . . . . . . . . . . . . 58 7.4.10. Example Code . . . . . . . . . . . . . . . . . . . . . . 59
7.4.11. isEstablished . . . . . . . . . . . . . . . . . . . . 59 7.4.11. isEstablished . . . . . . . . . . . . . . . . . . . . . . 60
7.4.12. dispose . . . . . . . . . . . . . . . . . . . . . . . 59 7.4.12. dispose . . . . . . . . . . . . . . . . . . . . . . . . . 60
7.4.13. getWrapSizeLimit . . . . . . . . . . . . . . . . . . . 59 7.4.13. getWrapSizeLimit . . . . . . . . . . . . . . . . . . . . 60
7.4.14. wrap . . . . . . . . . . . . . . . . . . . . . . . . . 60 7.4.14. wrap . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7.4.15. wrap . . . . . . . . . . . . . . . . . . . . . . . . . 61 7.4.15. wrap . . . . . . . . . . . . . . . . . . . . . . . . . . 62
7.4.16. unwrap . . . . . . . . . . . . . . . . . . . . . . . . 62 7.4.16. unwrap . . . . . . . . . . . . . . . . . . . . . . . . . 63
7.4.17. unwrap . . . . . . . . . . . . . . . . . . . . . . . . 62 7.4.17. unwrap . . . . . . . . . . . . . . . . . . . . . . . . . 63
7.4.18. getMIC . . . . . . . . . . . . . . . . . . . . . . . . 63 7.4.18. getMIC . . . . . . . . . . . . . . . . . . . . . . . . . 64
7.4.19. getMIC . . . . . . . . . . . . . . . . . . . . . . . . 64 7.4.19. getMIC . . . . . . . . . . . . . . . . . . . . . . . . . 65
7.4.20. verifyMIC . . . . . . . . . . . . . . . . . . . . . . 64 7.4.20. verifyMIC . . . . . . . . . . . . . . . . . . . . . . . . 65
7.4.21. verifyMIC . . . . . . . . . . . . . . . . . . . . . . 65 7.4.21. verifyMIC . . . . . . . . . . . . . . . . . . . . . . . . 66
7.4.22. export . . . . . . . . . . . . . . . . . . . . . . . . 66 7.4.22. export . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.4.23. requestMutualAuth . . . . . . . . . . . . . . . . . . 67 7.4.23. requestMutualAuth . . . . . . . . . . . . . . . . . . . . 68
7.4.24. requestReplayDet . . . . . . . . . . . . . . . . . . . 67 7.4.24. requestReplayDet . . . . . . . . . . . . . . . . . . . . 68
7.4.25. requestSequenceDet . . . . . . . . . . . . . . . . . . 67 7.4.25. requestSequenceDet . . . . . . . . . . . . . . . . . . . 68
7.4.26. requestCredDeleg . . . . . . . . . . . . . . . . . . . 67 7.4.26. requestCredDeleg . . . . . . . . . . . . . . . . . . . . 68
7.4.27. requestAnonymity . . . . . . . . . . . . . . . . . . . 68 7.4.27. requestAnonymity . . . . . . . . . . . . . . . . . . . . 69
7.4.28. requestConf . . . . . . . . . . . . . . . . . . . . . 68 7.4.28. requestConf . . . . . . . . . . . . . . . . . . . . . . . 69
7.4.29. requestInteg . . . . . . . . . . . . . . . . . . . . . 68 7.4.29. requestInteg . . . . . . . . . . . . . . . . . . . . . . 69
7.4.30. requestLifetime . . . . . . . . . . . . . . . . . . . 68 7.4.30. requestLifetime . . . . . . . . . . . . . . . . . . . . . 69
7.4.31. setChannelBinding . . . . . . . . . . . . . . . . . . 69 7.4.31. setChannelBinding . . . . . . . . . . . . . . . . . . . . 70
7.4.32. getCredDelegState . . . . . . . . . . . . . . . . . . 69 7.4.32. getCredDelegState . . . . . . . . . . . . . . . . . . . . 70
7.4.33. getMutualAuthState . . . . . . . . . . . . . . . . . . 69 7.4.33. getMutualAuthState . . . . . . . . . . . . . . . . . . . 70
7.4.34. getReplayDetState . . . . . . . . . . . . . . . . . . 69 7.4.34. getReplayDetState . . . . . . . . . . . . . . . . . . . . 70
7.4.35. getSequenceDetState . . . . . . . . . . . . . . . . . 70 7.4.35. getSequenceDetState . . . . . . . . . . . . . . . . . . . 71
7.4.36. getAnonymityState . . . . . . . . . . . . . . . . . . 70 7.4.36. getAnonymityState . . . . . . . . . . . . . . . . . . . . 71
7.4.37. isTransferable . . . . . . . . . . . . . . . . . . . . 70 7.4.37. isTransferable . . . . . . . . . . . . . . . . . . . . . 71
7.4.38. isProtReady . . . . . . . . . . . . . . . . . . . . . 70 7.4.38. isProtReady . . . . . . . . . . . . . . . . . . . . . . . 71
7.4.39. getConfState . . . . . . . . . . . . . . . . . . . . . 70 7.4.39. getConfState . . . . . . . . . . . . . . . . . . . . . . 71
7.4.40. getIntegState . . . . . . . . . . . . . . . . . . . . 71 7.4.40. getIntegState . . . . . . . . . . . . . . . . . . . . . . 72
7.4.41. getLifetime . . . . . . . . . . . . . . . . . . . . . 71 7.4.41. getLifetime . . . . . . . . . . . . . . . . . . . . . . . 72
7.4.42. getSrcName . . . . . . . . . . . . . . . . . . . . . . 71 7.4.42. getSrcName . . . . . . . . . . . . . . . . . . . . . . . 72
7.4.43. getTargName . . . . . . . . . . . . . . . . . . . . . 71 7.4.43. getTargName . . . . . . . . . . . . . . . . . . . . . . . 72
7.4.44. getMech . . . . . . . . . . . . . . . . . . . . . . . 71 7.4.44. getMech . . . . . . . . . . . . . . . . . . . . . . . . . 72
7.4.45. getDelegCred . . . . . . . . . . . . . . . . . . . . . 71 7.4.45. getDelegCred . . . . . . . . . . . . . . . . . . . . . . 72
7.4.46. isInitiator . . . . . . . . . . . . . . . . . . . . . 72 7.4.46. isInitiator . . . . . . . . . . . . . . . . . . . . . . . 73
7.5. public class MessageProp . . . . . . . . . . . . . . . 72 7.5. public class MessageProp . . . . . . . . . . . . . . . . 73
7.5.1. Constructors . . . . . . . . . . . . . . . . . . . . . 72 7.5.1. Constructors . . . . . . . . . . . . . . . . . . . . . . 73
7.5.2. getQOP . . . . . . . . . . . . . . . . . . . . . . . . 73 7.5.2. getQOP . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.5.3. getPrivacy . . . . . . . . . . . . . . . . . . . . . . 73 7.5.3. getPrivacy . . . . . . . . . . . . . . . . . . . . . . . 74
7.5.4. getMinorStatus . . . . . . . . . . . . . . . . . . . . 73 7.5.4. getMinorStatus . . . . . . . . . . . . . . . . . . . . . 74
7.5.5. getMinorString . . . . . . . . . . . . . . . . . . . . 73 7.5.5. getMinorString . . . . . . . . . . . . . . . . . . . . . 74
7.5.6. setQOP . . . . . . . . . . . . . . . . . . . . . . . . 73 7.5.6. setQOP . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.5.7. setPrivacy . . . . . . . . . . . . . . . . . . . . . . 73 7.5.7. setPrivacy . . . . . . . . . . . . . . . . . . . . . . . 74
7.5.8. isDuplicateToken . . . . . . . . . . . . . . . . . . . 74 7.5.8. isDuplicateToken . . . . . . . . . . . . . . . . . . . . 75
7.5.9. isOldToken . . . . . . . . . . . . . . . . . . . . . . 74 7.5.9. isOldToken . . . . . . . . . . . . . . . . . . . . . . . 75
7.5.10. isUnseqToken . . . . . . . . . . . . . . . . . . . . . 74 7.5.10. isUnseqToken . . . . . . . . . . . . . . . . . . . . . . 75
7.5.11. isGapToken . . . . . . . . . . . . . . . . . . . . . . 74 7.5.11. isGapToken . . . . . . . . . . . . . . . . . . . . . . . 75
7.5.12. setSupplementaryStates . . . . . . . . . . . . . . . . 74 7.5.12. setSupplementaryStates . . . . . . . . . . . . . . . . . 75
7.6. public class ChannelBinding . . . . . . . . . . . . . 75 7.6. public class ChannelBinding . . . . . . . . . . . . . . . 76
7.6.1. Constructors . . . . . . . . . . . . . . . . . . . . . 75 7.6.1. Constructors . . . . . . . . . . . . . . . . . . . . . . 76
7.6.2. getInitiatorAddress . . . . . . . . . . . . . . . . . 76 7.6.2. getInitiatorAddress . . . . . . . . . . . . . . . . . . . 77
7.6.3. getAcceptorAddress . . . . . . . . . . . . . . . . . . 76 7.6.3. getAcceptorAddress . . . . . . . . . . . . . . . . . . . 77
7.6.4. getApplicationData . . . . . . . . . . . . . . . . . . 76 7.6.4. getApplicationData . . . . . . . . . . . . . . . . . . . 77
7.6.5. equals . . . . . . . . . . . . . . . . . . . . . . . . 76 7.6.5. equals . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.7. public class Oid . . . . . . . . . . . . . . . . . . . 77 7.7. public class Oid . . . . . . . . . . . . . . . . . . . . 78
7.7.1. Constructors . . . . . . . . . . . . . . . . . . . . . 77 7.7.1. Constructors . . . . . . . . . . . . . . . . . . . . . . 78
7.7.2. toString . . . . . . . . . . . . . . . . . . . . . . . 78 7.7.2. toString . . . . . . . . . . . . . . . . . . . . . . . . 79
7.7.3. equals . . . . . . . . . . . . . . . . . . . . . . . . 78 7.7.3. equals . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.7.4. getDER . . . . . . . . . . . . . . . . . . . . . . . . 78 7.7.4. getDER . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.7.5. containedIn . . . . . . . . . . . . . . . . . . . . . 78 7.7.5. containedIn . . . . . . . . . . . . . . . . . . . . . . . 79
7.8. public class GSSException extends Exception . . . . . 78 7.8. public class GSSException extends Exception . . . . . . . 79
7.8.1. Static Constants . . . . . . . . . . . . . . . . . . . 79 7.8.1. Static Constants . . . . . . . . . . . . . . . . . . . . 80
7.8.2. Constructors . . . . . . . . . . . . . . . . . . . . . 81 7.8.2. Constructors . . . . . . . . . . . . . . . . . . . . . . 82
7.8.3. getMajor . . . . . . . . . . . . . . . . . . . . . . . 82 7.8.3. getMajor . . . . . . . . . . . . . . . . . . . . . . . . 83
7.8.4. getMinor . . . . . . . . . . . . . . . . . . . . . . . 82 7.8.4. getMinor . . . . . . . . . . . . . . . . . . . . . . . . 83
7.8.5. getMajorString . . . . . . . . . . . . . . . . . . . . 82 7.8.5. getMajorString . . . . . . . . . . . . . . . . . . . . . 83
7.8.6. getMinorString . . . . . . . . . . . . . . . . . . . . 82 7.8.6. getMinorString . . . . . . . . . . . . . . . . . . . . . 83
7.8.7. setMinor . . . . . . . . . . . . . . . . . . . . . . . 82 7.8.7. setMinor . . . . . . . . . . . . . . . . . . . . . . . . 83
7.8.8. toString . . . . . . . . . . . . . . . . . . . . . . . 83 7.8.8. toString . . . . . . . . . . . . . . . . . . . . . . . . 84
7.8.9. getMessage . . . . . . . . . . . . . . . . . . . . . . 83 7.8.9. getMessage . . . . . . . . . . . . . . . . . . . . . . . 84
8. Sample Applications . . . . . . . . . . . . . . . . . 83 8. Sample Applications . . . . . . . . . . . . . . . . . . . 84
8.1. Simple GSS Context Initiator . . . . . . . . . . . . . 83 8.1. Simple GSS Context Initiator . . . . . . . . . . . . . . 84
8.2. Simple GSS Context Acceptor . . . . . . . . . . . . . 87 8.2. Simple GSS Context Acceptor . . . . . . . . . . . . . . . 88
9. Security Considerations . . . . . . . . . . . . . . . 91 9. Security Considerations . . . . . . . . . . . . . . . . . 92
10. IANA Considerations . . . . . . . . . . . . . . . . . 91 10. IANA Considerations . . . . . . . . . . . . . . . . . . . 92
11. Acknowledgments . . . . . . . . . . . . . . . . . . . 92 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . 93
Appendix A. Changes since RFC 2853 . . . . . . . . . . . . . . . . 92 12. Changes since RFC 2853 . . . . . . . . . . . . . . . . . 93
12. References . . . . . . . . . . . . . . . . . . . . . . 93 13. References . . . . . . . . . . . . . . . . . . . . . . . 94
12.1. Normative References . . . . . . . . . . . . . . . . . 93 13.1. Normative References . . . . . . . . . . . . . . . . . . 94
12.2. Informative References . . . . . . . . . . . . . . . . 93 13.2. Informative References . . . . . . . . . . . . . . . . . 94
Authors' Addresses . . . . . . . . . . . . . . . . . . 93 Authors' Addresses . . . . . . . . . . . . . . . . . . . 94
Intellectual Property and Copyright Statements . . . . 95
1. Conventions Used in This Document 1. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
2. Introduction 2. Introduction
This document specifies Java language bindings for the Generic This document specifies Java language bindings for the Generic
skipping to change at page 92, line 20 skipping to change at page 93, line 20
directions, and explanations have been included from these documents. directions, and explanations have been included from these documents.
We would like to thank Mike Eisler, Lin Ling, Ram Marti, Michael We would like to thank Mike Eisler, Lin Ling, Ram Marti, Michael
Saltz and other members of Sun's development team for their helpful Saltz and other members of Sun's development team for their helpful
input, comments and suggestions. input, comments and suggestions.
We would also like to thank Joe Salowey, and Michael Smith for many We would also like to thank Joe Salowey, and Michael Smith for many
insightful ideas and suggestions that have contributed to this insightful ideas and suggestions that have contributed to this
document. document.
Appendix A. Changes since RFC 2853 12. Changes since RFC 2853
This document has following changes: This document has following changes:
1) Major GSS Status Code Constant Values 1) Major GSS Status Code Constant Values
RFC 2853 listed all the GSS status code values in two different RFC 2853 listed all the GSS status code values in two different
sections: section 4.12.1 defined numeric values for them, and section sections: section 4.12.1 defined numeric values for them, and section
6.8.1 defined them as static constants in the GSSException class 6.8.1 defined them as static constants in the GSSException class
without assigning any values. Due to an inconsistent ordering without assigning any values. Due to an inconsistent ordering
between these two sections, all of the GSS major status codes between these two sections, all of the GSS major status codes
skipping to change at page 93, line 12 skipping to change at page 94, line 12
3) GSS Host-Based Service Name 3) GSS Host-Based Service Name
RFC 2853 [RFC2853] section 6.2.2 defines the static constant for the RFC 2853 [RFC2853] section 6.2.2 defines the static constant for the
GSS host-based service OID NT_HOSTBASED_SERVICE, using a deprecated GSS host-based service OID NT_HOSTBASED_SERVICE, using a deprecated
OID value. OID value.
This document updates the NT_HOSTBASED_SERVICE OID value in section This document updates the NT_HOSTBASED_SERVICE OID value in section
7.2.2 to be consistent with the C-bindings in RFC 2744 7.2.2 to be consistent with the C-bindings in RFC 2744
[GSSAPI-Cbind]. [GSSAPI-Cbind].
12. References 13. References
12.1. Normative References 13.1. Normative References
[GSSAPI-Cbind] [GSSAPI-Cbind]
Wray, J., "Generic Security Service API Version 2 : Wray, J., "Generic Security Service API Version 2 :
C-bindings", RFC 2744, January 2000. C-bindings", RFC 2744, January 2000.
[GSSAPIv2-UPDATE] [GSSAPIv2-UPDATE]
Linn, J., "Generic Security Service Application Program Linn, J., "Generic Security Service Application Program
Interface, Version 2, Update 1", RFC 2743, January 2000. Interface, Version 2, Update 1", RFC 2743, January 2000.
[RFC2025] Adams, C., "The Simple Public-Key GSS-API Mechanism", [RFC2025] Adams, C., "The Simple Public-Key GSS-API Mechanism",
skipping to change at page 93, line 38 skipping to change at page 94, line 38
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2853] Kabat, J. and M. Upadhyay, "Generic Security Service [RFC2853] Kabat, J. and M. Upadhyay, "Generic Security Service
Application Program Interface : Java Bindings", RFC 2853, Application Program Interface : Java Bindings", RFC 2853,
June 2000. June 2000.
[RFC4121] Zhu, L. and S. Hartman, "The Kerberos Version 5 Generic [RFC4121] Zhu, L. and S. Hartman, "The Kerberos Version 5 Generic
Security Service Application Program Interface (GSS-API) Security Service Application Program Interface (GSS-API)
Mechanism: Version 2", RFC 4121, July 2005. Mechanism: Version 2", RFC 4121, July 2005.
12.2. Informative References 13.2. Informative References
[JLS] Gosling, J., "The Java Language Specification", [JLS] Gosling, J., "The Java Language Specification",
JLS langspec. JLS langspec.
Authors' Addresses Authors' Addresses
Mayank D. Upadhyay Mayank D. Upadhyay
Google Inc. Google Inc.
1600 Amphitheatre Parkway 1600 Amphitheatre Parkway
Mountain View, CA 94043 Mountain View, CA 94043
USA USA
Email: mayank+ietf-2853@google.com Email: mayank+ietf-2853@google.com
Seema Malkani Seema Malkani
Sun Microsystems, Inc. Sun Microsystems, Inc.
4140 Network Circle 4140 Network Circle
Santa Clara, CA 95054 Santa Clara, CA 95054
USA USA
Email: Seema.Malkani@sun.com Email: Seema.Malkani@sun.com
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
 End of changes. 10 change blocks. 
192 lines changed or deleted 201 lines changed or added

This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/