Tpm2Lib.Tpm2.PolicySecret C# (CSharp) Method

PolicySecret() private method

private PolicySecret ( TpmHandle authHandle, TpmHandle policySession, byte nonceTPM, byte cpHashA, byte policyRef, int expiration, [ policyTicket ) : byte[]
authHandle TpmHandle
policySession TpmHandle
nonceTPM byte
cpHashA byte
policyRef byte
expiration int
policyTicket [
return byte[]
        public byte[] PolicySecret(
            TpmHandle authHandle,
            TpmHandle policySession,
            byte[] nonceTPM,
            byte[] cpHashA,
            byte[] policyRef,
            int expiration,
            [SuppressMessage("Microsoft.Design", "CA1021")]
            out TkAuth policyTicket
        )
        {
            Tpm2PolicySecretRequest inS = new Tpm2PolicySecretRequest();
            inS.authHandle = authHandle;
            inS.policySession = policySession;
            inS.nonceTPM = nonceTPM;
            inS.cpHashA = cpHashA;
            inS.policyRef = policyRef;
            inS.expiration = expiration;
            TpmStructureBase outSBase;
            DispatchMethod(TpmCc.PolicySecret, (TpmStructureBase) inS, typeof(Tpm2PolicySecretResponse), out outSBase, 2, 0);
            Tpm2PolicySecretResponse outS = (Tpm2PolicySecretResponse) outSBase;
            policyTicket = outS.policyTicket;
            return outS.timeout;
        }
        /// <summary>

Usage Example

Exemplo n.º 1
0
        internal override TpmRc Execute(Tpm2 tpm, AuthSession sess, PolicyTree policy)
        {
            byte[] nonceTpm = UseNonceTpm ? Globs.CopyData(sess.NonceTpm) : new byte[0];

            if (AuthSess != null)
            {
                tpm._SetSessions(AuthSess);
            }

            Timeout = tpm.PolicySecret(AuthEntity, sess, nonceTpm,
                                       CpHash, PolicyRef, ExpirationTime,
                                       out Ticket);
            return(tpm._GetLastResponseCode());
        }
Tpm2