pje_configurar_certificado
Configure digital certificate authentication for accessing Brazilian judicial data through the PJE system, supporting A1 and A3 certificates with PFX files or Windows certificate store parameters.
Instructions
Configura autenticação por certificado digital
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pfxPath | No | Caminho para arquivo .pfx/.p12 | |
| pfxPassword | No | Senha do arquivo .pfx/.p12 | |
| certificateThumbprint | No | Thumbprint do certificado no Windows | |
| certificateSubject | No | Subject do certificado no Windows |
Implementation Reference
- src/index.ts:590-646 (handler)The main handler function for the 'pje_configurar_certificado' tool. Configures a digital certificate using thumbprint and password, initializes it for the PJE client, and attempts authentication.private async configurarCertificado(args: any) { try { const thumbprint = args.certificateThumbprint || process.env.PJE_CERTIFICATE_THUMBPRINT; const password = args.certificatePassword || process.env.PJE_CERTIFICATE_PASSWORD; if (!thumbprint || !password) { throw new Error('Thumbprint e senha do certificado são obrigatórios'); } const certificateConfig: CertificateConfig = { certificateThumbprint: thumbprint, certificatePassword: password }; if (!this.pjeClient) { const config: PJEConfig = { baseUrl: process.env.PJE_BASE_URL || "https://pje.tjce.jus.br", appName: process.env.PJE_APP_NAME || "pje-tjce-1g", certificate: certificateConfig, }; this.pjeClient = new PJEClient(config); } else { (this.pjeClient as any).config.certificate = certificateConfig; (this.pjeClient as any).certificateManager = new CertificateManager(certificateConfig); } await this.pjeClient.initializeCertificate(); try { await this.pjeClient.authenticateWithCertificate(); return { content: [ { type: "text", text: `🔐 **Certificado Digital Configurado com Sucesso!**\n\n✅ Certificado carregado e autenticado\n🎯 Pronto para usar com todas as funcionalidades do PJE\n\n**Informações do Certificado:**\n${JSON.stringify(this.pjeClient.getCertificateInfo(), null, 2)}`, }, ], }; } catch (authError) { return { content: [ { type: "text", text: `⚠️ **Certificado Carregado, mas Autenticação Falhou**\n\nCertificado foi carregado, mas a autenticação no PJE falhou.\nErro: ${authError}\n\n**Informações do Certificado:**\n${JSON.stringify(this.pjeClient.getCertificateInfo(), null, 2)}`, }, ], }; } } catch (error) { return { content: [ { type: "text", text: `❌ **Erro ao Configurar Certificado Digital**\n\n${error instanceof Error ? error.message : String(error)}\n\n**Dicas:**\n1. Verifique se o arquivo .pfx existe no caminho especificado\n2. Confirme se a senha do certificado está correta\n3. Para certificados do Windows, use o thumbprint ou subject\n4. Execute 'pje_listar_certificados' para ver certificados disponíveis`, }, ], }; } }
- src/index.ts:326-356 (registration)The request handler for CallToolRequestSchema includes a switch case that dispatches 'pje_configurar_certificado' calls to the configurarCertificado method.this.server.setRequestHandler(CallToolRequestSchema, async (request) => { try { switch (request.params.name) { case "pje_configurar": return await this.configurarPJE(request.params.arguments); case "pje_listar_processos": if (!this.pjeClient) throw new Error("PJE não configurado"); return await this.listarProcessos(request.params.arguments); case "pje_buscar_processo": if (!this.pjeClient) throw new Error("PJE não configurado"); return await this.buscarProcesso(request.params.arguments); case "pje_listar_orgaos_julgadores": if (!this.pjeClient) throw new Error("PJE não configurado"); return await this.listarOrgaosJulgadores(); case "pje_listar_classes": if (!this.pjeClient) throw new Error("PJE não configurado"); return await this.listarClasses(); case "pje_listar_assuntos": if (!this.pjeClient) throw new Error("PJE não configurado"); return await this.listarAssuntos(); case "pje_status": return await this.verificarStatus(); case "pje_configurar_certificado": return await this.configurarCertificado(request.params.arguments); case "pje_listar_certificados": return await this.listarCertificados(); case "pje_info_certificado": return await this.infoCertificado(); default: throw new Error(`Ferramenta desconhecida: ${request.params.name}`); }
- src/index.ts:293-305 (registration)Tool registration in the ListTools response, including name, description, and input schema.{ name: "pje_configurar_certificado", description: "Configura autenticação por certificado digital", inputSchema: { type: "object", properties: { pfxPath: { type: "string", description: "Caminho para arquivo .pfx/.p12" }, pfxPassword: { type: "string", description: "Senha do arquivo .pfx/.p12" }, certificateThumbprint: { type: "string", description: "Thumbprint do certificado no Windows" }, certificateSubject: { type: "string", description: "Subject do certificado no Windows" }, }, }, },
- src/index.ts:296-304 (schema)Input schema defining parameters for configuring the certificate: pfxPath, pfxPassword, certificateThumbprint, certificateSubject.inputSchema: { type: "object", properties: { pfxPath: { type: "string", description: "Caminho para arquivo .pfx/.p12" }, pfxPassword: { type: "string", description: "Senha do arquivo .pfx/.p12" }, certificateThumbprint: { type: "string", description: "Thumbprint do certificado no Windows" }, certificateSubject: { type: "string", description: "Subject do certificado no Windows" }, }, },