add Message#ToKeyValue
add signing logic