code: func (priv *DSAPrivateKey) Sign(rand io.Reader, hashed []byte) ([]byte, error) {
  	r, s, err := dsa.Sign(rand, &priv.PrivateKey, hashed)
  	if err == nil {
  		rBytes := r.Bytes()
  		sBytes := s.Bytes()
  
  		out := make([]byte, 40)
  		copy(out[20-len(rBytes):], rBytes)
  		copy(out[len(out)-len(sBytes):], sBytes)
  		return out, nil
  	}
  	return nil, err
  }
docs: // Sign will generate a signature of a hashed data using dsa Sign.