Fonctionnalités

Extension navigateur

Extensions Chrome et Firefox (installation manuelle) via Native Messaging — sans stockage cloud des identifiants.

L'extension navigateur QubKey communique avec l'application desktop via un canal sécurisé local (Native Messaging). Le flux est : Extension → Native Host → App QubKey → Coffre déverrouillé.

Pas de serveur cloud, pas de compte en ligne — l'extension ne fonctionne que lorsque l'app desktop est lancée et le coffre déverrouillé.

Navigateur

Sandbox WebExtension — isolé des processus natifs

Extension QubKey

Popup UI

(recherche)

Content Script

(auto-fill)

Background Worker

(native messaging)

Native

qubkey-host (Native Messaging Host)

  • Valide l'origine de l'extension
  • Relaie vers QubKey Desktop via IPC
Desktop

QubKey Desktop

  • Coffre déverrouillé en mémoire
  • Répond aux requêtes (get, autofill, generate)

Installation

Avant de commencer

Prérequis communs : installez l'application desktop QubKey pour macOS ou Windows, lancez-la et déverrouillez le coffre. Téléchargez le paquet d'extension correspondant à votre OS sur la page extensions navigateur — les builds macOS et Windows ne sont pas interchangeables. Les extensions ne sont pas distribuées via Chrome Web Store, Firefox Add-ons ou autres stores publics.

  1. Téléchargez passmanager-chrome-1.0.0.zip pour votre plateforme sur /fr/browser-extensions
  2. Décompressez l'archive dans un dossier fixe ( manifest.json à la racine)
  3. Ouvrez chrome://extensions (ou edge://extensions pour Edge/Chromium) → activez le mode développeurCharger l'extension non empaquetée
  4. Configurez Native Messaging (com.passmanager.native.json) et copiez l'ID d'extension dans le manifeste hôte
  5. Déverrouillez QubKey — la page d'options de l'extension doit afficher Connecté
  1. Téléchargez passmanager-firefox-1.0.0.xpi pour votre plateforme sur /fr/browser-extensions
  2. Tests locaux : ouvrez about:debuggingCe FirefoxCharger un module temporaire → sélectionnez manifest.json (extrait du .xpi)
  3. Sur Firefox Release, un .xpi non signé est en général refusé — la publication AMO permet une installation en un clic une fois le build signé
  4. Configurez Native Messaging pour Firefox — voir le guide Native Messaging (%APPDATA%\Mozilla\NativeMessagingHosts\ sous Windows, dossiers équivalents sur macOS)
  5. Déverrouillez QubKey → Paramètres → Extension doit afficher Connecté

Autres navigateurs

Les navigateurs Chromium (Chrome, Brave, Edge, Opera) utilisent le même paquet .zip décompressé — chargez le dossier depuis chrome://extensions ou edge://extensions. Safari n'a pas de paquet d'extension QubKey sur le site.

Architecture

Architecture locale

Native Messaging : l'extension envoie des requêtes via stdin/stdout à un processus local (Native Host), qui relaie vers l'app QubKey.

  • Aucune donnée ne transite par internet
  • Le coffre .rkvey reste sur votre disque
  • L'extension n'a jamais accès au mot de passe maître ni aux clés brutes
  • Un token de session JWT (15 min) limite la fenêtre d'accès

Fonctionnalités

Modèle de sécurité

MécanismeTypeProtection
Native MessagingIPCCommunication locale stdin/stdout — aucun port réseau ouvert
Session TokenJWTToken signé HMAC, expire après 15 min d'inactivité — limite la fenêtre d'accès extension
PermissionsMinimalesPas d'accès historique, cookies, onglets non actifs — uniquement la page courante
Content ScriptIsoléExécution dans un isolated world — séparé du JavaScript de la page web

Dépannage

"Connexion impossible"

  1. Vérifiez que l'app desktop est lancée et le coffre déverrouillé
  2. Vérifiez le paquet d'extension (macOS vs Windows)
  3. Vérifiez le manifeste Native Messaging et l'ID d'extension
  4. Redémarrez l'extension (désactiver/réactiver)

Guide : page extensions navigateur

"Native host non trouvé"

Le manifest Native Messaging (com.passmanager.native.json) n'est pas enregistré ou l'ID d'extension est incorrect. Suivez la section Native Messaging de la page extensions navigateur.

Champs non détectés

1. Clic droit → « Remplir avec QubKey » 2. Vérifiez que l'URL est enregistrée dans l'entrée 3. Les iframes ne sont pas accessibles — remplissage manuel 4. Désactivez temporairement les autres gestionnaires de mots de passe