code: func (rs *RSASigner) SignBytes(buf []byte) ([]byte, error) {
  	var err error
  
  	// check rs.priv
  	if rs.priv == nil {
  		return nil, ErrMissingPrivateKey
  	}
  
  	// hash
  	h := rs.hash.New()
  	_, err = h.Write(buf)
  	if err != nil {
  		return nil, err
  	}
  
  	// sign
  	return rs.method.Sign(rand.Reader, rs.priv, rs.hash, h.Sum(nil))
  }
docs: // SignBytes creates a signature for buf.