Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

139
Visualizações
Cómo obtener un certificado de navegador para firmar digitalmente una carga útil usando Chrome Extension

Estoy trabajando en una extensión de Chrome para obtener acceso a la lista de certificados en mi navegador (incluido el certificado de clase 3 que compré).

Este es el manifiesto.json

 { "manifest_version": 2, "name": "Coding Train Extension 2", "version": "0.001", "permissions": ["storage", "activeTab", "scripting"], "content_scripts": [ { "matches":["<all_urls>"], "js": ["content.js"] } ], "background":{ "scripts": ["background.js"] }, "browser_action":{ "default_icon": "logo.png" } }

Este es el fondo.js

 console.log("This is inside background..."); chrome.browserAction.onClicked.addListener(collectAvailableCertificates); function collectAvailableCertificates() { // Return all certificates that this Extension can currently provide. // For example: return [{ certificateChain: [new Uint8Array()], supportedAlgorithms: ['RSASSA_PKCS1_v1_5_SHA256'] }]; }

En esta prueba, content.js no se usa mucho. Tengo un icono de la extensión en el navegador y, al hacer clic, estoy activando background.js. Estoy tratando de emular las API proporcionadas en la documentación de la API de Chrome https://developer.chrome.com/docs/extensions/reference/certificateProvider/

Lo que busco es cómo llamar a los métodos como collectAvailableCertificates(), handleSignatureRequest(request) como se ve en el documento. Mi objetivo es usar este certificado comprado para firmar digitalmente una carga xml.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

La API certificateProvider tiene un objetivo completamente diferente en mente.

Solo está disponible para Chrome OS como una forma de administrar la autenticación de certificados para solicitudes web , y no para ningún otro uso de certificados (parece que apunta a firmar una carga útil arbitraria en su código).

Tampoco proporciona ninguna criptografía requerida para usar un certificado para firmar, eso está fuera de su alcance (de hecho, se espera que la extensión que lo usa implemente las firmas por sí misma), ni le dará acceso al almacén de certificados del sistema operativo si su certificado es almacenado allí.

Toda esta API hace que el navegador sepa qué certificados están disponibles (por la extensión) cuando un servidor web solicita la autenticación de certificado de cliente HTTPS.

Nada menos, nada más. Algunas API de Chrome existen solo para funciones de administración en Chrome OS donde otras interfaces no están disponibles.

La información sobre la restricción de Chrome OS estuvo disponible en el sitio web de documentación hasta octubre de 2021 , pero no parece reflejarse en el actual, que es un error del sitio web de documentación . Y no es que se haya extendido para que funcione en otros lugares; eso se mencionaría en la página Novedades , pero nuevamente confirma en octubre de 2021 que es una "API de Chrome OS" y no tiene menciones desde entonces.

En su lugar, debería mirar las API criptográficas web, por ejemplo, SubtleCrypto.sign , pero eso significaría incluir su clave privada en la extensión misma.


EDITAR: En realidad, Chrome tiene otra API relacionada, chrome.platformKeys , que puede permitir el acceso al almacén de certificados del sistema operativo (si esa es su situación, necesita usar un certificado instalado sin incluirlo en la extensión).

Se puede usar para solicitar la clave pública/privada de la tienda del sistema operativo y luego usar su propia versión de SubtleCrypto para trabajar con ellos.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda