pub async fn sign_named_object_body<D, S, N>(
    signer: &S,
    obj: &N,
    sign_source: &SignatureSource
) -> BuckyResult<Signature>where
    D: ObjectType,
    D::DescType: RawEncode,
    D::ContentType: RawEncode + BodyContent,
    S: Signer,
    N: NamedObject<D>,