public void SetPin(byte[] oldPin, byte[] newPin)
{
if (this._disposed)
throw new ObjectDisposedException(this.GetType().FullName);
byte[] oldPinValue = null;
ulong oldPinValueLen = 0;
if (oldPin != null)
{
oldPinValue = oldPin;
oldPinValueLen = Convert.ToUInt64(oldPin.Length);
}
byte[] newPinValue = null;
ulong newPinValueLen = 0;
if (newPin != null)
{
newPinValue = newPin;
newPinValueLen = Convert.ToUInt64(newPin.Length);
}
CKR rv = _p11.C_SetPIN(_sessionId, oldPinValue, oldPinValueLen, newPinValue, newPinValueLen);
if (rv != CKR.CKR_OK)
throw new Pkcs11Exception("C_SetPIN", rv);
}