public void TakeOwnership(ProtectedPasswordStorage ownerSecret, ProtectedPasswordStorage srkSecret) { _tpmSession.SetValue ("secret_" + TPMSession.PARAM_AUTH_OWNER, ownerSecret); _tpmSession.SetValue ("secret_" + TPMSession.PARAM_AUTH_SRK, srkSecret); IAsymmetricBlockCipher ekEncryptor = _tpmSession.EndorsementKeyHandling.PublicKey.CreateRSAEncrypter (); ownerSecret.DecryptHash (); byte[] encOwnerSecret = ekEncryptor.ProcessBlock (ownerSecret.HashValue, 0, ownerSecret.HashValue.Length); ownerSecret.ClearHash (); srkSecret.DecryptHash (); byte[] encSrkSecret = ekEncryptor.ProcessBlock (srkSecret.HashValue, 0, srkSecret.HashValue.Length); srkSecret.ClearHash (); Parameters parameters = new Parameters (); parameters.AddPrimitiveType (PARAM_OWNERAUTH, encOwnerSecret); parameters.AddPrimitiveType (PARAM_SRKAUTH, encSrkSecret); /*TPMCommandResponse response = */BuildDoVerifyRequest (TPMCommandNames.TPM_CMD_TakeOwnership, parameters); }
public HMACProvider(ProtectedPasswordStorage key) : base("HMACSHA1") { key.DecryptHash(); HMACAlgorithm.Key = key.HashValue; }