예제 #1
0
        public async Task <ISignatureUnion> SignAsync(
            TpmHandle keyHandle,
            byte[] digest,
            ISigSchemeUnion inScheme,
            TkHashcheck validation)
        {
            var inS  = new Tpm2SignRequest(keyHandle, digest, inScheme, validation);
            var resp = new Tpm2SignResponse();
            await Task.Run(() => DispatchMethod(TpmCc.Sign, inS, resp, 1, 0));

            return(resp.signature);
        }
예제 #2
0
        public async Task <ISignatureUnion> SignAsync(
            TpmHandle keyHandle,
            byte[] digest,
            ISigSchemeUnion inScheme,
            TkHashcheck validation)
        {
            var inS = new Tpm2SignRequest(keyHandle, digest, inScheme, validation);
            TpmStructureBase outSBase = null;
            await Task.Run(() => DispatchMethod(TpmCc.Sign, inS,
                                                typeof(Tpm2SignResponse),
                                                out outSBase, 1, 0));

            var outS = (Tpm2SignResponse)outSBase;

            return(outS.signature);
        }