code: func (j *JWS) SignEABContent(url, kid string, hmac []byte) (*jose.JSONWebSignature, error) {
  	jwk := jose.JSONWebKey{Key: j.privKey}
  	jwkJSON, err := jwk.Public().MarshalJSON()
  	if err != nil {
  		return nil, fmt.Errorf("acme: error encoding eab jwk key: %v", err)
  	}
  
  	signer, err := jose.NewSigner(
  		jose.SigningKey{Algorithm: jose.HS256, Key: hmac},
  		&jose.SignerOptions{
  			EmbedJWK: false,
  			ExtraHeaders: map[jose.HeaderKey]interface{}{
  				"kid": kid,
  				"url": url,
  			},
  		},
  	)
  	if err != nil {
  		return nil, fmt.Errorf("failed to create External Account Binding jose signer -> %v", err)
  	}
  
  	signed, err := signer.Sign(jwkJSON)
  	if err != nil {
  		return nil, fmt.Errorf("failed to External Account Binding sign content -> %v", err)
  	}
  
  	return signed, nil
  }
docs: // SignEABContent Signs an external account binding content with the JWS.