{"record":{"id":"1bd9b7c294e0a1ec","repo":"projectdiscovery/nuclei","slug":"failed-to-parse-pem-block-containing-the-certifica","errorCode":null,"errorMessage":"failed to parse PEM block containing the certificate","messagePattern":"failed to parse PEM block containing the certificate","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/templates/signer/handler.go","lineNumber":83,"sourceCode":"func (k *KeyHandler) ReadPrivateKey(envName, dir string) error {\n\t// read from env\n\tif privateKey := k.getEnvContent(envName); privateKey != nil {\n\t\tk.PrivateKey = privateKey\n\t\treturn nil\n\t}\n\t// read from disk\n\tif privateKey, err := os.ReadFile(filepath.Join(dir, PrivateKeyFilename)); err == nil {\n\t\tk.PrivateKey = privateKey\n\t\treturn nil\n\t}\n\treturn ErrNoPrivateKey\n}\n\n// ParseUserCert parses the user certificate and returns the public key\nfunc (k *KeyHandler) ParseUserCert() error {\n\tblock, _ := pem.Decode(k.UserCert)\n\tif block == nil {\n\t\treturn fmt.Errorf(\"failed to parse PEM block containing the certificate\")\n\t}\n\tcert, err := x509.ParseCertificate(block.Bytes)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif cert.Subject.CommonName == \"\" {\n\t\treturn fmt.Errorf(\"invalid certificate: expected common name to be set\")\n\t}\n\tk.cert = cert\n\tvar ok bool\n\tk.ecdsaPubKey, ok = cert.PublicKey.(*ecdsa.PublicKey)\n\tif !ok {\n\t\treturn fmt.Errorf(\"failed to parse ecdsa public key from cert\")\n\t}\n\treturn nil\n}\n\n// ParsePrivateKey parses the private key and returns the private key","sourceCodeStart":65,"sourceCodeEnd":101,"githubUrl":"https://github.com/projectdiscovery/nuclei/blob/265b3a3dec374741614e342f813c10f8b38d2bb7/pkg/templates/signer/handler.go#L65-L101","documentation":"Error \"failed to parse PEM block containing the certificate\" thrown in projectdiscovery/nuclei.","triggerScenarios":"Thrown at pkg/templates/signer/handler.go:83 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"265b3a3dec374741614e342f813c10f8b38d2bb7","analyzedAt":"2026-08-15T20:05:51.855Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}