Reworked the Expiry support to expose it in the first place, and to store and present it as a DateTime object.

This commit is contained in:
antiduh
2014-06-29 14:24:58 +00:00
parent bc97ef64ae
commit 5272979f19
6 changed files with 46 additions and 10 deletions

View File

@@ -19,14 +19,15 @@ namespace NSspi.Credentials
private SecurityPackage securityPackage;
private SafeCredentialHandle safeCredHandle;
private long expiry;
private DateTime expiry;
public Credential(SecurityPackage package, CredentialType credentialType)
{
this.disposed = false;
this.securityPackage = package;
this.expiry = 0;
this.expiry = DateTime.MinValue;
Init( package, credentialType );
}
@@ -35,6 +36,7 @@ namespace NSspi.Credentials
{
string packageName;
CredentialUse use;
long rawExpiry = 0;
// -- Package --
if ( package == SecurityPackage.Kerberos )
@@ -90,7 +92,7 @@ namespace NSspi.Credentials
IntPtr.Zero,
IntPtr.Zero,
ref this.safeCredHandle.rawHandle,
ref this.expiry
ref rawExpiry
);
}
@@ -98,6 +100,8 @@ namespace NSspi.Credentials
{
throw new SSPIException( "Failed to call AcquireCredentialHandle", status );
}
this.expiry = TimeStamp.Calc( rawExpiry );
}
~Credential()
@@ -177,6 +181,14 @@ namespace NSspi.Credentials
}
}
public DateTime Expiry
{
get
{
return this.expiry;
}
}
public SafeCredentialHandle Handle
{
get
@@ -203,6 +215,5 @@ namespace NSspi.Credentials
this.disposed = true;
}
}
}
}