def hmac_sha1(self, key_handle, data, flags = None, final = True, to_buffer = False):
return pyhsm.hmac_cmd.YHSM_Cmd_HMAC_SHA1_Write(self.stick, key_handle, data, flags = flags, final = final, to_buffer = to_buffer).execute()<EOL>
Have the YubiHSM generate a HMAC SHA1 of 'data' using a key handle.

Use the L{pyhsm.hmac_cmd.YHSM_Cmd_HMAC_SHA1_Write.next} to add more input (until
'final' has been set to True).

Use the L{pyhsm.hmac_cmd.YHSM_Cmd_HMAC_SHA1_Write.get_hash} to get the hash result
this far.

@param key_handle: Key handle to use when generating HMAC SHA1
@param data: what to calculate the HMAC SHA1 checksum of
@keyword flags: bit-flags, overrides 'final' and 'to_buffer'
@keyword final: True when there is no more data, False if there is more
@keyword to_buffer: Should the final result be stored in the YubiHSM internal buffer or not
@type key_handle: integer or string
@type data: string
@type flags: None or integer

@returns: HMAC-SHA1 instance
@rtype: L{YHSM_Cmd_HMAC_SHA1_Write}

@see: L{pyhsm.hmac_cmd.YHSM_Cmd_HMAC_SHA1_Write}