#import "Principal.h"
#import "Address.h"
#import "TargetOwnedTimer.h"
#define CredentialValid 0x00000000
#define CredentialBeforeStartTime 0x00000001
#define CredentialNeedsValidation 0x00000002
#define CredentialBadAddress 0x00000004
#define CredentialExpired 0x00000008
#define CredentialInvalid 0xFFFFFFFF
enum {
kShortFormat = 1,
kLongFormat
};
@interface Credential : NSObject
{
cc_credentials_t credentials;
cc_uint32 ticketFlags;
Principal *clientPrincipal;
Principal *servicePrincipal;
NSMutableArray *addressesArray;
NSWindowController *infoWindowController;
TargetOwnedTimer *credentialTimer;
}
- (id) initWithCredentials: (cc_credentials_t) creds;
- (void) dealloc;
- (int) synchronizeWithCredentials: (cc_credentials_t) creds;
- (void) setupTimerLastAttemptFailed: (BOOL) lastAttemptFailed;
- (void) credentialTimer: (TargetOwnedTimer *) timer;
- (BOOL) isEqualToCredentials: (cc_credentials_t) compareCredentials;
- (time_t) issueTime;
- (time_t) startTime;
- (time_t) expirationTime;
- (time_t) renewUntilTime;
- (BOOL) hasValidAddress;
- (BOOL) isTGT;
- (BOOL) needsValidation;
- (cc_uint32) version;
- (BOOL) forwardable;
- (BOOL) forwarded;
- (BOOL) proxiable;
- (BOOL) proxied;
- (BOOL) postdatable;
- (BOOL) postdated;
- (BOOL) invalid;
- (BOOL) renewable;
- (BOOL) initial;
- (BOOL) preauthenticated;
- (BOOL) hardwareAuthenticated;
- (BOOL) isSKey;
- (int) stateAtTime: (time_t) atTime;
- (cc_time_t) timeRemainingAtTime: (time_t) atTime;
- (NSArray *) addresses;
- (NSString *) stringToKeyTypeString;
- (NSString *) sessionKeyEnctypeString;
- (NSString *) servicePrincipalKeyEnctypeString;
- (NSString *) clientPrincipalString;
- (NSString *) servicePrincipalString;
- (NSString *) versionString;
- (NSAttributedString *) stringValueForTicketInfoWindow;
- (NSAttributedString *) stringValueForTicketColumn;
- (NSAttributedString *) stringValueForLifetimeColumn;
- (int) numberOfChildren;
- (id) childAtIndex: (int) rowIndex;
- (NSPoint) showInfoWindowCascadingFromPoint: (NSPoint) cascadePoint;
- (void) windowWillClose: (NSNotification *) notification;
- (void) wakeFromSleep: (NSNotification *) notification;
@end