Rework the entire protocol to allow KeyUsage specification and signature tags