Tpm2Lib.Tpm2.NvRead C# (CSharp) 메소드

NvRead() 개인적인 메소드

private NvRead ( TpmHandle authHandle, TpmHandle nvIndex, ushort size, ushort offset ) : byte[]
authHandle TpmHandle
nvIndex TpmHandle
size ushort
offset ushort
리턴 byte[]
        public byte[] NvRead(
            TpmHandle authHandle,
            TpmHandle nvIndex,
            ushort size,
            ushort offset
        )
        {
            Tpm2NvReadRequest inS = new Tpm2NvReadRequest();
            inS.authHandle = authHandle;
            inS.nvIndex = nvIndex;
            inS.size = size;
            inS.offset = offset;
            TpmStructureBase outSBase;
            DispatchMethod(TpmCc.NvRead, (TpmStructureBase) inS, typeof(Tpm2NvReadResponse), out outSBase, 2, 0);
            Tpm2NvReadResponse outS = (Tpm2NvReadResponse) outSBase;
            return outS.data;
        }
        /// <summary>

Usage Example

예제 #1
0
        private string GetHeldData()
        {
            TpmHandle nvUriHandle = new TpmHandle(AIOTH_PERSISTED_URI_INDEX + logicalDeviceId);
            Byte[] nvData;
            string iotHubUri = "";

            try
            {
                // Open the TPM
                Tpm2Device tpmDevice = new TbsDevice();
                tpmDevice.Connect();
                var tpm = new Tpm2(tpmDevice);

                // Read the URI from the TPM
                Byte[] name;
                NvPublic nvPublic = tpm.NvReadPublic(nvUriHandle, out name);
                nvData = tpm.NvRead(nvUriHandle, nvUriHandle, nvPublic.dataSize, 0);

                // Dispose of the TPM
                tpm.Dispose();
            }
            catch
            {
                return iotHubUri;
            }

            // Convert the data to a srting for output
            iotHubUri = System.Text.Encoding.UTF8.GetString(nvData);
            return iotHubUri;
        }
Tpm2