1
1
using System ;
2
+ using System . Runtime . Serialization ;
2
3
3
4
namespace ApolloInterop . Features . KerberosTickets ;
4
5
5
6
//for the moment this is the same as the KerberosTicketDataDTO, but it will be used for the store so more / different fileds may be added that are unique to the store
7
+ [ DataContract ]
6
8
public record KerberosTicketStoreDTO
7
9
{
8
- public string Luid { get ; private set ; }
9
-
10
- public string ClientFullName { get ; private set ; }
11
-
12
- public string ServiceFullName { get ; private set ; }
13
- public DateTime StartTime { get ; private set ; }
14
- public DateTime EndTime { get ; private set ; }
15
-
16
- public string TimeUntilExpiration => ( EndTime . ToUniversalTime ( ) - DateTime . UtcNow ) . ToString ( @"dd\.hh\:mm\:ss" ) ;
17
- public DateTime RenewTime { get ; private set ; }
18
-
19
- public string TimeUntilRenewal => ( RenewTime . ToUniversalTime ( ) - DateTime . UtcNow ) . ToString ( @"dd\.hh\:mm\:ss" ) ;
20
- public KerbEncType EncryptionType { get ; private set ; }
21
- public KerbTicketFlags TicketFlags { get ; private set ; }
22
- public string base64Ticket { get ; private set ; }
23
-
24
-
25
- public KerberosTicketStoreDTO ( KerberosTicket ticket )
26
- {
27
- Luid = ticket . Luid . ToString ( ) ;
28
- ClientFullName = $ "{ ticket . ClientName } @{ ticket . ClientRealm } ";
29
- ServiceFullName = $ "{ ticket . ServerName } @{ ticket . ServerRealm } ";
30
- StartTime = ticket . StartTime ;
31
- EndTime = ticket . EndTime ;
32
- RenewTime = ticket . RenewTime ;
33
- EncryptionType = ticket . EncryptionType ;
34
- TicketFlags = ticket . TicketFlags ;
35
- base64Ticket = Convert . ToBase64String ( ticket . Kirbi ) ;
36
- }
10
+ [ DataMember ( Name = "luid" ) ]
11
+ public string Luid { get ; private set ; }
12
+ [ DataMember ( Name = "client_fullname" ) ]
13
+ public string ClientFullName { get ; private set ; }
14
+ [ DataMember ( Name = "service_fullname" ) ]
15
+ public string ServiceFullName { get ; private set ; }
16
+ [ DataMember ( Name = "start_time" ) ]
17
+ public string StartTimeDisplay { get ; private set ; }
18
+ public DateTime StartTime ;
19
+ [ DataMember ( Name = "end_time" ) ]
20
+ public string EndTimeDisplay { get ; private set ; }
21
+ public DateTime EndTime ;
22
+ public string TimeUntilExpiration => ( EndTime . ToUniversalTime ( ) - DateTime . UtcNow ) . ToString ( @"dd\.hh\:mm\:ss" ) ;
23
+ [ DataMember ( Name = "renew_time" ) ]
24
+ public string RenewTimeDisplay { get ; private set ; }
25
+ public DateTime RenewTime ;
26
+ public string TimeUntilRenewal => ( RenewTime . ToUniversalTime ( ) - DateTime . UtcNow ) . ToString ( @"dd\.hh\:mm\:ss" ) ;
27
+ public KerbEncType EncryptionType ;
28
+ [ DataMember ( Name = "encryption_type" ) ]
29
+ public string EncryptionTypeDisplay { get ; private set ; }
30
+ [ DataMember ( Name = "ticket_flags" ) ]
31
+ public string TicketFlagsDisplay { get ; private set ; }
32
+ public KerbTicketFlags TicketFlags ;
33
+ [ DataMember ( Name = "ticket" ) ]
34
+ public string base64Ticket { get ; private set ; }
35
+
36
+
37
+ public KerberosTicketStoreDTO ( KerberosTicket ticket )
38
+ {
39
+ Luid = ticket . Luid . ToString ( ) ;
40
+ ClientFullName = $ "{ ticket . ClientName } @{ ticket . ClientRealm } ";
41
+ ServiceFullName = $ "{ ticket . ServerName } @{ ticket . ServerRealm } ";
42
+ StartTime = ticket . StartTime ;
43
+ StartTimeDisplay = StartTime . ToString ( ) ;
44
+ EndTime = ticket . EndTime ;
45
+ EndTimeDisplay = EndTime . ToString ( ) ;
46
+ RenewTime = ticket . RenewTime ;
47
+ RenewTimeDisplay = RenewTime . ToString ( ) ;
48
+ EncryptionType = ticket . EncryptionType ;
49
+ EncryptionTypeDisplay = ticket . EncryptionType . ToString ( ) ;
50
+ TicketFlags = ticket . TicketFlags ;
51
+ TicketFlagsDisplay = ticket . TicketFlags . ToString ( ) ;
52
+ base64Ticket = Convert . ToBase64String ( ticket . Kirbi ) ;
53
+ }
37
54
38
55
}
0 commit comments