#
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
class name javax/security/auth/kerberos/DelegationPermission
header extends java/security/BasicPermission implements java/io/Serializable flags 31 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name <init> descriptor (Ljava/lang/String;)V flags 1
method name <init> descriptor (Ljava/lang/String;Ljava/lang/String;)V flags 1
method name implies descriptor (Ljava/security/Permission;)Z flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1
method name hashCode descriptor ()I flags 1
method name newPermissionCollection descriptor ()Ljava/security/PermissionCollection; flags 1

class name javax/security/auth/kerberos/KerberosKey
header extends java/lang/Object implements javax/crypto/SecretKey,javax/security/auth/Destroyable flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name <init> descriptor (Ljavax/security/auth/kerberos/KerberosPrincipal;[BII)V flags 1
method name <init> descriptor (Ljavax/security/auth/kerberos/KerberosPrincipal;[CLjava/lang/String;)V flags 1
method name getPrincipal descriptor ()Ljavax/security/auth/kerberos/KerberosPrincipal; flags 11
method name getVersionNumber descriptor ()I flags 11
method name getKeyType descriptor ()I flags 11
method name getAlgorithm descriptor ()Ljava/lang/String; flags 11
method name getFormat descriptor ()Ljava/lang/String; flags 11
method name getEncoded descriptor ()[B flags 11
method name destroy descriptor ()V thrownTypes javax/security/auth/DestroyFailedException flags 1
method name isDestroyed descriptor ()Z flags 1
method name toString descriptor ()Ljava/lang/String; flags 1
method name hashCode descriptor ()I flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1

class name javax/security/auth/kerberos/KerberosPrincipal
header extends java/lang/Object implements java/security/Principal,java/io/Serializable flags 31 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
field name KRB_NT_UNKNOWN descriptor I constantValue 0 flags 19
field name KRB_NT_PRINCIPAL descriptor I constantValue 1 flags 19
field name KRB_NT_SRV_INST descriptor I constantValue 2 flags 19
field name KRB_NT_SRV_HST descriptor I constantValue 3 flags 19
field name KRB_NT_SRV_XHST descriptor I constantValue 4 flags 19
field name KRB_NT_UID descriptor I constantValue 5 flags 19
method name <init> descriptor (Ljava/lang/String;)V flags 1
method name <init> descriptor (Ljava/lang/String;I)V flags 1
method name getRealm descriptor ()Ljava/lang/String; flags 1
method name hashCode descriptor ()I flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1
method name getName descriptor ()Ljava/lang/String; flags 1
method name getNameType descriptor ()I flags 1
method name toString descriptor ()Ljava/lang/String; flags 1

class name javax/security/auth/kerberos/KerberosTicket
header extends java/lang/Object implements javax/security/auth/Destroyable,javax/security/auth/Refreshable,java/io/Serializable flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name <init> descriptor ([BLjavax/security/auth/kerberos/KerberosPrincipal;Ljavax/security/auth/kerberos/KerberosPrincipal;[BI[ZLjava/util/Date;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;[Ljava/net/InetAddress;)V flags 1
method name getClient descriptor ()Ljavax/security/auth/kerberos/KerberosPrincipal; flags 11
method name getServer descriptor ()Ljavax/security/auth/kerberos/KerberosPrincipal; flags 11
method name getSessionKey descriptor ()Ljavax/crypto/SecretKey; flags 11
method name getSessionKeyType descriptor ()I flags 11
method name isForwardable descriptor ()Z flags 11
method name isForwarded descriptor ()Z flags 11
method name isProxiable descriptor ()Z flags 11
method name isProxy descriptor ()Z flags 11
method name isPostdated descriptor ()Z flags 11
method name isRenewable descriptor ()Z flags 11
method name isInitial descriptor ()Z flags 11
method name getFlags descriptor ()[Z flags 11
method name getAuthTime descriptor ()Ljava/util/Date; flags 11
method name getStartTime descriptor ()Ljava/util/Date; flags 11
method name getEndTime descriptor ()Ljava/util/Date; flags 11
method name getRenewTill descriptor ()Ljava/util/Date; flags 11
method name getClientAddresses descriptor ()[Ljava/net/InetAddress; flags 11
method name getEncoded descriptor ()[B flags 11
method name isCurrent descriptor ()Z flags 1
method name refresh descriptor ()V thrownTypes javax/security/auth/RefreshFailedException flags 1
method name destroy descriptor ()V thrownTypes javax/security/auth/DestroyFailedException flags 1
method name isDestroyed descriptor ()Z flags 1
method name toString descriptor ()Ljava/lang/String; flags 1
method name hashCode descriptor ()I flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1

class name javax/security/auth/kerberos/KeyTab
header extends java/lang/Object flags 31 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name getInstance descriptor (Ljava/io/File;)Ljavax/security/auth/kerberos/KeyTab; flags 9
method name getUnboundInstance descriptor (Ljava/io/File;)Ljavax/security/auth/kerberos/KeyTab; flags 9
method name getInstance descriptor (Ljavax/security/auth/kerberos/KerberosPrincipal;Ljava/io/File;)Ljavax/security/auth/kerberos/KeyTab; flags 9
method name getInstance descriptor ()Ljavax/security/auth/kerberos/KeyTab; flags 9
method name getUnboundInstance descriptor ()Ljavax/security/auth/kerberos/KeyTab; flags 9
method name getInstance descriptor (Ljavax/security/auth/kerberos/KerberosPrincipal;)Ljavax/security/auth/kerberos/KeyTab; flags 9
method name getKeys descriptor (Ljavax/security/auth/kerberos/KerberosPrincipal;)[Ljavax/security/auth/kerberos/KerberosKey; flags 1
method name exists descriptor ()Z flags 1
method name toString descriptor ()Ljava/lang/String; flags 1
method name hashCode descriptor ()I flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1
method name getPrincipal descriptor ()Ljavax/security/auth/kerberos/KerberosPrincipal; flags 1
method name isBound descriptor ()Z flags 1

class name javax/security/auth/kerberos/ServicePermission
header extends java/security/Permission implements java/io/Serializable flags 31 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name <init> descriptor (Ljava/lang/String;Ljava/lang/String;)V flags 1
method name implies descriptor (Ljava/security/Permission;)Z flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1
method name hashCode descriptor ()I flags 1
method name getActions descriptor ()Ljava/lang/String; flags 1
method name newPermissionCollection descriptor ()Ljava/security/PermissionCollection; flags 1

class name org/ietf/jgss/ChannelBinding
header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name <init> descriptor (Ljava/net/InetAddress;Ljava/net/InetAddress;[B)V flags 1
method name <init> descriptor ([B)V flags 1
method name getInitiatorAddress descriptor ()Ljava/net/InetAddress; flags 1
method name getAcceptorAddress descriptor ()Ljava/net/InetAddress; flags 1
method name getApplicationData descriptor ()[B flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1
method name hashCode descriptor ()I flags 1

class name org/ietf/jgss/GSSContext
header extends java/lang/Object flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
field name DEFAULT_LIFETIME descriptor I constantValue 0 flags 19
field name INDEFINITE_LIFETIME descriptor I constantValue 2147483647 flags 19
method name initSecContext descriptor ([BII)[B thrownTypes org/ietf/jgss/GSSException flags 401
method name initSecContext descriptor (Ljava/io/InputStream;Ljava/io/OutputStream;)I thrownTypes org/ietf/jgss/GSSException flags 401
method name acceptSecContext descriptor ([BII)[B thrownTypes org/ietf/jgss/GSSException flags 401
method name acceptSecContext descriptor (Ljava/io/InputStream;Ljava/io/OutputStream;)V thrownTypes org/ietf/jgss/GSSException flags 401
method name isEstablished descriptor ()Z flags 401
method name dispose descriptor ()V thrownTypes org/ietf/jgss/GSSException flags 401
method name getWrapSizeLimit descriptor (IZI)I thrownTypes org/ietf/jgss/GSSException flags 401
method name wrap descriptor ([BIILorg/ietf/jgss/MessageProp;)[B thrownTypes org/ietf/jgss/GSSException flags 401
method name wrap descriptor (Ljava/io/InputStream;Ljava/io/OutputStream;Lorg/ietf/jgss/MessageProp;)V thrownTypes org/ietf/jgss/GSSException flags 401
method name unwrap descriptor ([BIILorg/ietf/jgss/MessageProp;)[B thrownTypes org/ietf/jgss/GSSException flags 401
method name unwrap descriptor (Ljava/io/InputStream;Ljava/io/OutputStream;Lorg/ietf/jgss/MessageProp;)V thrownTypes org/ietf/jgss/GSSException flags 401
method name getMIC descriptor ([BIILorg/ietf/jgss/MessageProp;)[B thrownTypes org/ietf/jgss/GSSException flags 401
method name getMIC descriptor (Ljava/io/InputStream;Ljava/io/OutputStream;Lorg/ietf/jgss/MessageProp;)V thrownTypes org/ietf/jgss/GSSException flags 401
method name verifyMIC descriptor ([BII[BIILorg/ietf/jgss/MessageProp;)V thrownTypes org/ietf/jgss/GSSException flags 401
method name verifyMIC descriptor (Ljava/io/InputStream;Ljava/io/InputStream;Lorg/ietf/jgss/MessageProp;)V thrownTypes org/ietf/jgss/GSSException flags 401
method name export descriptor ()[B thrownTypes org/ietf/jgss/GSSException flags 401
method name requestMutualAuth descriptor (Z)V thrownTypes org/ietf/jgss/GSSException flags 401
method name requestReplayDet descriptor (Z)V thrownTypes org/ietf/jgss/GSSException flags 401
method name requestSequenceDet descriptor (Z)V thrownTypes org/ietf/jgss/GSSException flags 401
method name requestCredDeleg descriptor (Z)V thrownTypes org/ietf/jgss/GSSException flags 401
method name requestAnonymity descriptor (Z)V thrownTypes org/ietf/jgss/GSSException flags 401
method name requestConf descriptor (Z)V thrownTypes org/ietf/jgss/GSSException flags 401
method name requestInteg descriptor (Z)V thrownTypes org/ietf/jgss/GSSException flags 401
method name requestLifetime descriptor (I)V thrownTypes org/ietf/jgss/GSSException flags 401
method name setChannelBinding descriptor (Lorg/ietf/jgss/ChannelBinding;)V thrownTypes org/ietf/jgss/GSSException flags 401
method name getCredDelegState descriptor ()Z flags 401
method name getMutualAuthState descriptor ()Z flags 401
method name getReplayDetState descriptor ()Z flags 401
method name getSequenceDetState descriptor ()Z flags 401
method name getAnonymityState descriptor ()Z flags 401
method name isTransferable descriptor ()Z thrownTypes org/ietf/jgss/GSSException flags 401
method name isProtReady descriptor ()Z flags 401
method name getConfState descriptor ()Z flags 401
method name getIntegState descriptor ()Z flags 401
method name getLifetime descriptor ()I flags 401
method name getSrcName descriptor ()Lorg/ietf/jgss/GSSName; thrownTypes org/ietf/jgss/GSSException flags 401
method name getTargName descriptor ()Lorg/ietf/jgss/GSSName; thrownTypes org/ietf/jgss/GSSException flags 401
method name getMech descriptor ()Lorg/ietf/jgss/Oid; thrownTypes org/ietf/jgss/GSSException flags 401
method name getDelegCred descriptor ()Lorg/ietf/jgss/GSSCredential; thrownTypes org/ietf/jgss/GSSException flags 401
method name isInitiator descriptor ()Z thrownTypes org/ietf/jgss/GSSException flags 401

class name org/ietf/jgss/GSSCredential
header extends java/lang/Object implements java/lang/Cloneable flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
field name INITIATE_AND_ACCEPT descriptor I constantValue 0 flags 19
field name INITIATE_ONLY descriptor I constantValue 1 flags 19
field name ACCEPT_ONLY descriptor I constantValue 2 flags 19
field name DEFAULT_LIFETIME descriptor I constantValue 0 flags 19
field name INDEFINITE_LIFETIME descriptor I constantValue 2147483647 flags 19
method name dispose descriptor ()V thrownTypes org/ietf/jgss/GSSException flags 401
method name getName descriptor ()Lorg/ietf/jgss/GSSName; thrownTypes org/ietf/jgss/GSSException flags 401
method name getName descriptor (Lorg/ietf/jgss/Oid;)Lorg/ietf/jgss/GSSName; thrownTypes org/ietf/jgss/GSSException flags 401
method name getRemainingLifetime descriptor ()I thrownTypes org/ietf/jgss/GSSException flags 401
method name getRemainingInitLifetime descriptor (Lorg/ietf/jgss/Oid;)I thrownTypes org/ietf/jgss/GSSException flags 401
method name getRemainingAcceptLifetime descriptor (Lorg/ietf/jgss/Oid;)I thrownTypes org/ietf/jgss/GSSException flags 401
method name getUsage descriptor ()I thrownTypes org/ietf/jgss/GSSException flags 401
method name getUsage descriptor (Lorg/ietf/jgss/Oid;)I thrownTypes org/ietf/jgss/GSSException flags 401
method name getMechs descriptor ()[Lorg/ietf/jgss/Oid; thrownTypes org/ietf/jgss/GSSException flags 401
method name add descriptor (Lorg/ietf/jgss/GSSName;IILorg/ietf/jgss/Oid;I)V thrownTypes org/ietf/jgss/GSSException flags 401
method name equals descriptor (Ljava/lang/Object;)Z flags 401
method name hashCode descriptor ()I flags 401

class name org/ietf/jgss/GSSException
header extends java/lang/Exception flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
field name BAD_BINDINGS descriptor I constantValue 1 flags 19
field name BAD_MECH descriptor I constantValue 2 flags 19
field name BAD_NAME descriptor I constantValue 3 flags 19
field name BAD_NAMETYPE descriptor I constantValue 4 flags 19
field name BAD_STATUS descriptor I constantValue 5 flags 19
field name BAD_MIC descriptor I constantValue 6 flags 19
field name CONTEXT_EXPIRED descriptor I constantValue 7 flags 19
field name CREDENTIALS_EXPIRED descriptor I constantValue 8 flags 19
field name DEFECTIVE_CREDENTIAL descriptor I constantValue 9 flags 19
field name DEFECTIVE_TOKEN descriptor I constantValue 10 flags 19
field name FAILURE descriptor I constantValue 11 flags 19
field name NO_CONTEXT descriptor I constantValue 12 flags 19
field name NO_CRED descriptor I constantValue 13 flags 19
field name BAD_QOP descriptor I constantValue 14 flags 19
field name UNAUTHORIZED descriptor I constantValue 15 flags 19
field name UNAVAILABLE descriptor I constantValue 16 flags 19
field name DUPLICATE_ELEMENT descriptor I constantValue 17 flags 19
field name NAME_NOT_MN descriptor I constantValue 18 flags 19
field name DUPLICATE_TOKEN descriptor I constantValue 19 flags 19
field name OLD_TOKEN descriptor I constantValue 20 flags 19
field name UNSEQ_TOKEN descriptor I constantValue 21 flags 19
field name GAP_TOKEN descriptor I constantValue 22 flags 19
method name <init> descriptor (I)V flags 1
method name <init> descriptor (IILjava/lang/String;)V flags 1
method name getMajor descriptor ()I flags 1
method name getMinor descriptor ()I flags 1
method name getMajorString descriptor ()Ljava/lang/String; flags 1
method name getMinorString descriptor ()Ljava/lang/String; flags 1
method name setMinor descriptor (ILjava/lang/String;)V flags 1
method name toString descriptor ()Ljava/lang/String; flags 1
method name getMessage descriptor ()Ljava/lang/String; flags 1

class name org/ietf/jgss/GSSManager
header extends java/lang/Object flags 421 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name <init> descriptor ()V flags 1
method name getInstance descriptor ()Lorg/ietf/jgss/GSSManager; flags 9
method name getMechs descriptor ()[Lorg/ietf/jgss/Oid; flags 401
method name getNamesForMech descriptor (Lorg/ietf/jgss/Oid;)[Lorg/ietf/jgss/Oid; thrownTypes org/ietf/jgss/GSSException flags 401
method name getMechsForName descriptor (Lorg/ietf/jgss/Oid;)[Lorg/ietf/jgss/Oid; flags 401
method name createName descriptor (Ljava/lang/String;Lorg/ietf/jgss/Oid;)Lorg/ietf/jgss/GSSName; thrownTypes org/ietf/jgss/GSSException flags 401
method name createName descriptor ([BLorg/ietf/jgss/Oid;)Lorg/ietf/jgss/GSSName; thrownTypes org/ietf/jgss/GSSException flags 401
method name createName descriptor (Ljava/lang/String;Lorg/ietf/jgss/Oid;Lorg/ietf/jgss/Oid;)Lorg/ietf/jgss/GSSName; thrownTypes org/ietf/jgss/GSSException flags 401
method name createName descriptor ([BLorg/ietf/jgss/Oid;Lorg/ietf/jgss/Oid;)Lorg/ietf/jgss/GSSName; thrownTypes org/ietf/jgss/GSSException flags 401
method name createCredential descriptor (I)Lorg/ietf/jgss/GSSCredential; thrownTypes org/ietf/jgss/GSSException flags 401
method name createCredential descriptor (Lorg/ietf/jgss/GSSName;ILorg/ietf/jgss/Oid;I)Lorg/ietf/jgss/GSSCredential; thrownTypes org/ietf/jgss/GSSException flags 401
method name createCredential descriptor (Lorg/ietf/jgss/GSSName;I[Lorg/ietf/jgss/Oid;I)Lorg/ietf/jgss/GSSCredential; thrownTypes org/ietf/jgss/GSSException flags 401
method name createContext descriptor (Lorg/ietf/jgss/GSSName;Lorg/ietf/jgss/Oid;Lorg/ietf/jgss/GSSCredential;I)Lorg/ietf/jgss/GSSContext; thrownTypes org/ietf/jgss/GSSException flags 401
method name createContext descriptor (Lorg/ietf/jgss/GSSCredential;)Lorg/ietf/jgss/GSSContext; thrownTypes org/ietf/jgss/GSSException flags 401
method name createContext descriptor ([B)Lorg/ietf/jgss/GSSContext; thrownTypes org/ietf/jgss/GSSException flags 401
method name addProviderAtFront descriptor (Ljava/security/Provider;Lorg/ietf/jgss/Oid;)V thrownTypes org/ietf/jgss/GSSException flags 401
method name addProviderAtEnd descriptor (Ljava/security/Provider;Lorg/ietf/jgss/Oid;)V thrownTypes org/ietf/jgss/GSSException flags 401

class name org/ietf/jgss/GSSName
header extends java/lang/Object flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
field name NT_HOSTBASED_SERVICE descriptor Lorg/ietf/jgss/Oid; flags 19
field name NT_USER_NAME descriptor Lorg/ietf/jgss/Oid; flags 19
field name NT_MACHINE_UID_NAME descriptor Lorg/ietf/jgss/Oid; flags 19
field name NT_STRING_UID_NAME descriptor Lorg/ietf/jgss/Oid; flags 19
field name NT_ANONYMOUS descriptor Lorg/ietf/jgss/Oid; flags 19
field name NT_EXPORT_NAME descriptor Lorg/ietf/jgss/Oid; flags 19
method name equals descriptor (Lorg/ietf/jgss/GSSName;)Z thrownTypes org/ietf/jgss/GSSException flags 401
method name equals descriptor (Ljava/lang/Object;)Z flags 401
method name hashCode descriptor ()I flags 401
method name canonicalize descriptor (Lorg/ietf/jgss/Oid;)Lorg/ietf/jgss/GSSName; thrownTypes org/ietf/jgss/GSSException flags 401
method name export descriptor ()[B thrownTypes org/ietf/jgss/GSSException flags 401
method name toString descriptor ()Ljava/lang/String; flags 401
method name getStringNameType descriptor ()Lorg/ietf/jgss/Oid; thrownTypes org/ietf/jgss/GSSException flags 401
method name isAnonymous descriptor ()Z flags 401
method name isMN descriptor ()Z flags 401

class name org/ietf/jgss/MessageProp
header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name <init> descriptor (Z)V flags 1
method name <init> descriptor (IZ)V flags 1
method name getQOP descriptor ()I flags 1
method name getPrivacy descriptor ()Z flags 1
method name setQOP descriptor (I)V flags 1
method name setPrivacy descriptor (Z)V flags 1
method name isDuplicateToken descriptor ()Z flags 1
method name isOldToken descriptor ()Z flags 1
method name isUnseqToken descriptor ()Z flags 1
method name isGapToken descriptor ()Z flags 1
method name getMinorStatus descriptor ()I flags 1
method name getMinorString descriptor ()Ljava/lang/String; flags 1
method name setSupplementaryStates descriptor (ZZZZILjava/lang/String;)V flags 1

class name org/ietf/jgss/Oid
header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I3)
method name <init> descriptor (Ljava/lang/String;)V thrownTypes org/ietf/jgss/GSSException flags 1
method name <init> descriptor (Ljava/io/InputStream;)V thrownTypes org/ietf/jgss/GSSException flags 1
method name <init> descriptor ([B)V thrownTypes org/ietf/jgss/GSSException flags 1
method name toString descriptor ()Ljava/lang/String; flags 1
method name equals descriptor (Ljava/lang/Object;)Z flags 1
method name getDER descriptor ()[B thrownTypes org/ietf/jgss/GSSException flags 1
method name containedIn descriptor ([Lorg/ietf/jgss/Oid;)Z flags 1
method name hashCode descriptor ()I flags 1

