rsa.go
func (r RSAMethod) Sign(rand io.Reader, priv *rsa.PrivateKey, hash crypto.Hash, buf []byte) ([]byte, error) {
	return r.SignFunc(rand, priv, hash, buf)
}
func (r RSAMethod) Sign(rand io.Reader, priv *rsa.PrivateKey, hash crypto.Hash, buf []byte) ([]byte, error) {
	return r.SignFunc(rand, priv, hash, buf)
}
// Sign signs the data in buf using rand, priv and hash.