projectdiscovery/nuclei · error

private key requires passphrase, but none was provided

Error message

private key requires passphrase, but none was provided

What it means

Error "private key requires passphrase, but none was provided" thrown in projectdiscovery/nuclei.

Source

Thrown at pkg/templates/signer/handler.go:117

}

// ParsePrivateKey parses the private key and returns the private key
func (k *KeyHandler) ParsePrivateKey() error {
	block, _ := pem.Decode(k.PrivateKey)
	if block == nil {
		return fmt.Errorf("failed to parse PEM block containing the private key")
	}
	// if pem block is encrypted , decrypt it
	if x509.IsEncryptedPEMBlock(block) { // nolint: all
		gologger.Info().Msgf("Private Key is encrypted with passphrase")
		fmt.Printf("[*] Enter passphrase (exit to abort): ")
		bin, err := term.ReadPassword(int(os.Stdin.Fd()))
		if err != nil {
			return err
		}
		fmt.Println()
		if string(bin) == "exit" {
			return fmt.Errorf("private key requires passphrase, but none was provided")
		}
		block.Bytes, err = x509.DecryptPEMBlock(block, bin) // nolint: all
		if err != nil {
			return err
		}
	}
	var err error
	k.ecdsaKey, err = x509.ParseECPrivateKey(block.Bytes)
	if err != nil {
		return err
	}
	return nil
}

// GenerateKeyPair generates a new key-pair for signing code templates
func (k *KeyHandler) GenerateKeyPair() {

	gologger.Info().Msgf("Generating new key-pair for signing templates")

View on GitHub (pinned to 265b3a3dec)

When it happens

Trigger: Thrown at pkg/templates/signer/handler.go:117 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of projectdiscovery/nuclei@265b3a3dec (2026-08-15). Data as JSON: /api/errors/03c4b51a16d53c3b. Report an issue: GitHub.