public ISignatureUnion Sign( TpmHandle keyHandle, byte[] digest, ISigSchemeUnion inScheme, TkHashcheck validation ) { Tpm2SignRequest inS = new Tpm2SignRequest(); inS.keyHandle = keyHandle; inS.digest = digest; inS.inScheme = inScheme; inS.validation = validation; TpmStructureBase outSBase; DispatchMethod(TpmCc.Sign, (TpmStructureBase) inS, typeof(Tpm2SignResponse), out outSBase, 1, 0); Tpm2SignResponse outS = (Tpm2SignResponse) outSBase; return outS.signature; }
public async Task<ISignatureUnion> SignAsync( TpmHandle keyHandle, byte[] digest, ISigSchemeUnion inScheme, TkHashcheck validation) { var inS = new Tpm2SignRequest { keyHandle = keyHandle, digest = digest, inScheme = inScheme, validation = validation }; TpmStructureBase outSBase = null; await Task.Run(() => DispatchMethod(TpmCc.Sign, inS, typeof (Tpm2SignResponse), out outSBase, 1, 0)); var outS = (Tpm2SignResponse)outSBase; return outS.signature; }
public Tpm2SignRequest(Tpm2SignRequest the_Tpm2SignRequest) { if((Object) the_Tpm2SignRequest == null ) throw new ArgumentException(Globs.GetResourceString("parmError")); keyHandle = the_Tpm2SignRequest.keyHandle; digest = the_Tpm2SignRequest.digest; validation = the_Tpm2SignRequest.validation; }