code: func (priv *DSAPrivateKey) Parse(in []byte) (index []byte, ok bool) {
  	if in, ok = priv.DSAPublicKey.Parse(in); !ok {
  		return nil, false
  	}
  
  	priv.PrivateKey.PublicKey = priv.DSAPublicKey.PublicKey
  	index, priv.X, ok = gotrax.ExtractMPI(in)
  
  	return index, ok
  }
docs: // Parse will parse a Private Key from the given data, by first parsing the public key components and then the private key component. It returns not ok for the same reasons as PublicKey.Parse.