{
base.SetHandle(ptrCkmcCert);
- CkmcCert ckmcCert = (CkmcCert)Marshal.PtrToStructure(ptrCkmcCert, typeof(CkmcCert));
+ CkmcCert ckmcCert = Marshal.PtrToStructure<CkmcCert>(ptrCkmcCert);
Binary = new byte[ckmcCert.size];
Marshal.Copy(ckmcCert.rawCert, Binary, 0, Binary.Length);
Format = (DataFormat)ckmcCert.dataFormat;
{
base.SetHandle(ptr);
- CkmcKey ckmcKey = (CkmcKey)Marshal.PtrToStructure(handle, typeof(CkmcKey));
+ CkmcKey ckmcKey = Marshal.PtrToStructure<CkmcKey>(handle);
Binary = new byte[ckmcKey.size];
Marshal.Copy(ckmcKey.rawKey, Binary, 0, Binary.Length);
Type = (KeyType)ckmcKey.keyType;
{
this.SetHandle(ptrCkmcPkcs12);
- CkmcPkcs12 ckmcPkcs12 = (CkmcPkcs12)Marshal.PtrToStructure(handle, typeof(CkmcPkcs12));
+ CkmcPkcs12 ckmcPkcs12 = Marshal.PtrToStructure<CkmcPkcs12>(handle);
this.PrivateKey = new Key(ckmcPkcs12.privateKey, false);
if (ckmcPkcs12.certificate != IntPtr.Zero)
this.Certificate = new Certificate(ckmcPkcs12.certificate, false);
List<string> aliases = new List<string>();
while (ptrAliases != IntPtr.Zero)
{
- CkmcAliasList ckmcAliasList = (CkmcAliasList)Marshal.PtrToStructure(ptrAliases, typeof(CkmcAliasList));
+ CkmcAliasList ckmcAliasList = Marshal.PtrToStructure<CkmcAliasList>(ptrAliases);
aliases.Add(Marshal.PtrToStringAnsi(ckmcAliasList.alias));
ptrAliases = ckmcAliasList.next;
}
IntPtr ptrCurr = handle;
while (ptrCurr != IntPtr.Zero)
{
- CkmcCertList ckmcCertList = (CkmcCertList)Marshal.PtrToStructure(ptrCurr, typeof(CkmcCertList));
+ CkmcCertList ckmcCertList = Marshal.PtrToStructure<CkmcCertList>(ptrCurr);
certs.Add(new Certificate(ckmcCertList.cert, false));
ptrCurr = ckmcCertList.next;
}
if (ptrRawBuffer == IntPtr.Zero)
return;
- CkmcRawBuffer buff = (CkmcRawBuffer)Marshal.PtrToStructure(ptrRawBuffer, typeof(CkmcRawBuffer));
+ CkmcRawBuffer buff = Marshal.PtrToStructure<CkmcRawBuffer>(ptrRawBuffer);
byte[] data = new byte[buff.size];
Marshal.Copy(buff.data, data, 0, data.Length);