株式会社ハウディ・クリプト
Haudi Crypto, Inc.
Openloop Connectは、ハードウェアウォレットOpenloopと共に使用するコンパニオンアプリケーションです。アプリやOSをOpenloopと接続するための以下の5つの機能を提供します。
| # | 機能 | 説明 | 対応プラットフォーム |
|---|---|---|---|
| 1 | ファームウェア更新 | BLE経由でOpenloopのファームウェアを最新版に更新 | モバイル |
| 2 | WalletConnect中継 | WalletConnect対応dAppからOpenloopを使用 | モバイル |
| 3 | Openloop APIサーバ | ウェブアプリやネイティブアプリからOpenloopを利用するためのLocal WebSocketサーバ | デスクトップ / Android |
| 4 | Safari Web Extension | SafariブラウザからOpenloopを使用するための拡張機能のコンテナ | iOS |
| 5 | PKCS#11ライブラリ | PIV署名用のPKCS#11ダイナミックライブラリを同梱 | デスクトップ |
| 機能 | iOS | Android | macOS | Windows | Linux |
|---|---|---|---|---|---|
| ファームウェア更新 | ✓ | ✓ | — | — | — |
| WalletConnect中継 | ✓ | ✓ | — | — | — |
| Openloop APIサーバ | — | ✓ | ✓ | ✓ | ✓ |
| Safari Web Extension | ✓ | — | — | — | — |
| PKCS#11ライブラリ | — | — | ✓ | ✓ | ✓ |
| プラットフォーム | 接続方式 | 用途 |
|---|---|---|
| モバイル(iOS / Android) | BLE(Bluetooth Low Energy) | ウォレット機能、ファームウェア更新 |
| デスクトップ(macOS / Windows / Linux) | USB HID | PIV/PKCS#11、APIサーバ |
Openloopは通信なしで暗号資産の署名を行うAir Gap(エアギャップ)モードに対応しています。Air GapモードではOpenloop Connectは使用しません。 Air Gapモードの操作はOpenloopデバイス単体で完結します。詳しくはOpenloopユーザーマニュアルを参照してください。
| OS | 入手先 |
|---|---|
| iOS | App Storeで「Openloop Connect」を検索してインストール |
| Android | Google Playで「Openloop Connect」を検索してインストール |
アプリは無料です。
Openloopダウンロードページ にアクセスし、お使いのOSに対応したファイルをダウンロードしてください。
ダウンロードページには以下のファイルが表示されます。
| ファイル | OS | 説明 |
|---|---|---|
| DMG (arm64) | macOS (Apple Silicon) | M1/M2/M3/M4搭載のMac用 |
| DMG (x64) | macOS (Intel) | Intel搭載のMac用 |
| EXE | Windows (x64) | Windowsインストーラー |
| AppImage | Linux (x64) | ダブルクリックで実行可能 |
| DEB | Linux (x64) | Debian/Ubuntu用パッケージ |
chmod +x Openloop.Connect-*.AppImagesudo dpkg -i openloop-connect-*.debℹ Linuxでは、OpenloopデバイスのUSB接続にudevルールの設定が必要な場合があります。DEBパッケージにはudevルールの自動設定スクリプトが含まれています。
アプリを起動すると表示されるメイン画面です。ヘッダーバーと3つのセクションで構成されています。
画面上部の青いバーには以下が表示されます。
接続中のOpenloopデバイスの情報を表示するセクションです。
デバイス登録済みの場合:
0x62f54E...57474f)デバイス未登録の場合:
「変更」リンクをタップすると表示されるモーダル画面です。
WalletConnectの接続状態を表示するセクションです。
未接続時:
接続中:
ℹ 通常、WalletConnect URIの手動入力は不要です。dAppから「Openloop Connect」を選択すると、DeepLink経由で自動的に接続されます。詳しくは5章を参照してください。
Local
WebSocketサーバ(ws://127.0.0.1:21320)に接続中のアプリケーションの一覧を表示するセクションです。
未接続時:
接続中:
▲ iOSではOS制限によりLocal WebSocketサーバは動作しません。このセクションは常に未接続状態になります。iOS環境ではSafari Web Extensionを使用してください。
メイン画面の「デバイスを追加」ボタン、デバイス選択モーダルの「+ 新しいデバイスを追加」、または設定画面の「+ 新しいデバイスを追加」をタップすると、デバイスの登録を開始できます。
BLEスキャンが自動的に開始され、近くのOpenloopデバイスが一覧表示されます。
デバイスが見つからない場合は「デバイスが見つかりません」と表示され、デバイスの電源を確認するよう案内されます。「リトライ」ボタンでスキャンを再開できます。
画面上部の「キャンセル」ボタンで前の画面に戻ることができます。
デバイスの「接続」をタップすると、接続中のオーバーレイが表示されます。
ペアリングが完了すると、登録完了画面が表示されます。
「完了」ボタンをタップするとメイン画面に戻ります。
ℹ Openloop Connectでデバイスを登録するときに、スマートフォンのBLEペアリングも同時に行われます。別々に操作する必要はありません。
最も多いトラブルは、過去にペアリングした情報がスマートフォンに残っている場合です。Openloopデバイスをファクトリーリセットした後や、一度ペアリングを解除した後に再接続する場合は、スマートフォン側にペアリング情報の残骸が残っていることがあります。
解決方法:
デスクトップ版Openloop Connectでは、USBケーブルでデバイスを接続します。登録やペアリングの操作は不要です。
▲ 充電専用のUSBケーブルでは接続できません。データ通信対応のケーブルを使用してください。
WalletConnectは、さまざまなウォレットをDApps(分散型アプリケーション)やWeb3プラットフォームに接続するための世界標準のプロトコルです。Openloop Connectを起動すると、WalletConnectをサポートする数多くのdAppからOpenloopを使用できるようになります。
dAppとOpenloopを接続するには、以下のいずれかの方法を使用します。
最も簡単な方法です。スマートフォン上のdApp(ブラウザやアプリ)から直接接続します。
接続すると、メイン画面のWalletConnectセクションに「接続先: [dApp名]」と表示されます。
ℹ この方法では、dAppからのDeepLink(
openloop://)により自動的にWalletConnect URIが処理されます。
PC上のdAppからスマートフォンのOpenloop Connectに接続する場合に使用します。
上記の方法が使えない場合の代替手段です。
dAppでトランザクションを実行すると、署名リクエストが自動的にOpenloop Connectに届き、署名リクエスト画面が表示されます。
メイン画面のWalletConnectセクションにある 「切断」 ボタンをタップするとdAppとの接続が終了します。
dAppから署名リクエストが届くと、この画面がモーダルで表示されます。
bip122:000000000019d6689c085ae165831e93)署名対象のメッセージまたはトランザクションデータが、スクロール可能なモノスペーステキストで表示されます。16進数エンコードされたデータはUTF-8テキストにデコードされます。
黄色い背景で「信頼できるソースからのメッセージのみ署名してください。悪意のあるメッセージに署名すると資金を失う可能性があります。」と表示されます。
「承認」をタップすると:
ヘッダーバーの ⚙(歯車)アイコン をタップすると表示されます。画面上部に「閉じる」ボタンがあり、メイン画面に戻れます。
「デバイス」 セクションに、登録済みのOpenloopデバイスが一覧表示されます。各デバイスの行には:
「+ 新しいデバイスを追加」(モバイルのみ)をタップするとデバイスの登録が始まります。
「アプリについて」 をタップするとアプリについて画面に移動します。
設定画面でデバイスをタップすると表示されます。
リカバリーファームウェアは、メインファームウェアが破損した場合にデバイスを復旧するためのものです。更新の必要がある場合のみ、メインファームウェアの下に 「リカバリーファームウェア」 セクションが表示されます。表示内容はメインファームウェアと同様(現在のバージョン、最新バージョン、更新ボタン)です。
▲ デバイスを削除しても、スマートフォンのBluetoothペアリング情報は残ります。再登録時にペアリングの問題が起きた場合は、4.1節の「ペアリングできない場合」を参照してください。
デバイス詳細画面の「ファームウェアを更新」ボタンから表示されます。更新処理の進行に応じて画面が変化します。画面上部の「閉じる」ボタンで戻れます(更新中は無効化されます)。
スピナーと「バージョンを確認中…」が表示されます。
更新は3つのステップで進行します:
各ステップの進行に応じてプログレスバーとパーセンテージが表示されます。完了したステップにはチェックマークが付きます。「デバイスを切断しないでください」の赤い警告が常に表示されます。「キャンセル」ボタンで中断できますが、推奨しません。
緑のチェックマークと「更新が完了しました」のメッセージが表示されます。メインファームウェアの場合は「デバイスが再起動します」、リカバリーファームウェアの場合は「再起動は不要です」と表示されます。「完了」ボタンで前の画面に戻ります。
赤い×アイコンと「更新に失敗しました」のメッセージ、エラー詳細が表示されます。再試行可能な場合は「リトライ」ボタンが表示されます。「閉じる」ボタンで前の画面に戻ります。
▲ ファームウェア更新中の注意事項: - デバイスの電源を切らないでください - アプリを閉じないでください - デバイスとの距離を近くに保ってください
設定画面の 「ローカル WebSocket サーバ」 セクションでは、ローカルアプリ(ウェブブラウザ上の dApp、ネイティブアプリ等)からウォレットへの接続を制御できます。
| プラットフォーム | 表示 | 備考 |
|---|---|---|
| デスクトップ | ✓ | LocalWS + 許可されたサイト |
| Android | ✓ | LocalWS + 許可されたサイト |
| iOS | – | OS 制限により Local WebSocket サーバが動作しないため非表示 |
ℹ アクティブセッション保護: スイッチを OFF にしても、すでに確立されている WebSocket セッションは切断されません。新規接続のみが拒否されます。この設計により、PDF 署名中の Acrobat 等が突然動作不能になる事態を防ぎます。
スイッチが ON のときに表示されます。
操作:
https://example.com)→ 「追加」ボタン× ボタンℹ Origin の正規化: URL を入力すると、
scheme://host[:port]部分のみが保存されます。https://example.com/fooを入力しても保存値はhttps://example.comです。これは Web セキュリティ仕様(WebSocket / WebAuthn)に従ったもので、Origin にパスは含まれません。同じドメイン内のページを個別に区別したい場合は、サブドメインを分けて運用してください。
▲ Origin が「サイト全体」を意味する点について: 同じドメインに信頼できないコンテンツ(例: ユーザがアップロード可能なページ)がある場合、許可した時点でその全体が許可されます。共有ホスティング上のサイトは扱いに注意してください。
デスクトップ設定画面の 「PKCS#11 暗号モジュール」 セクションでは、PKCS#11 ライブラリ経由でのデバイスアクセス(Firefox の TLS クライアント認証、Adobe Acrobat の PDF 署名、SSH 認証等)を制御できます。
ℹ アクティブセッション保護: スイッチを OFF にしても、すでに開いている PKCS#11 セッションは継続されます。例えば Adobe Acrobat で PDF 署名処理中にスイッチを OFF にしても、その処理は中断されません。新規
C_Initialize呼び出しのみが拒否されます。
▲ 再起動が必要な場合: Firefox や Adobe Acrobat は PKCS#11 モジュールの状態をキャッシュするため、スイッチを切り替えた後にデバイス一覧を再認識するには Firefox / Acrobat の再起動 が必要な場合があります。
ヘッダーバーの ⓘ(情報)アイコン または設定画面の「アプリについて」から表示されます。画面右上の「閉じる」ボタンで前の画面に戻ります。
Openloop Connectの概要が表示されます。
Openloop Connectの基本的な使用手順が5つのステップで表示されます:
各行をタップするとブラウザで開きます。デバイスの言語設定に応じて日本語または英語で表示されます。
「© 2026 Haudi Crypto, Inc. / All rights reserved.」
モバイル版 Openloop Connect には、OS の Credential Manager 機能と統合する Passkey Provider が組み込まれています。これにより、iPhone / Android のブラウザで Web サイトの passkey 認証を、Openloop デバイスと BLE で通信 して実行できます。
[ブラウザ (iOS Safari / Android Chrome 等)]
↓ navigator.credentials API
[OS Credential Manager]
↓ Provider 選択 (ユーザー操作)
[Openloop Connect の Credential Provider]
↓ BLE
[Openloop デバイス (Passkey 署名)]
| OS | 実装 | 必要 OS バージョン |
|---|---|---|
| iOS | ASCredentialProviderViewController (Credential Provider
Extension) |
iOS 17 以降 |
| Android | CredentialProviderService (Credential Manager API) |
Android 14 以降 |
OpenloopのPasskey認証は 2つの経路 があります。Connect のCredential Manager 機能は BLE 経路のみ を扱います。
| 経路 | 通信 | Connect の関与 | 利用環境 |
|---|---|---|---|
| USB CTAPHID | OS標準のセキュリティキー機能 | 不要 | デスクトップ (Win/Mac/Linux) |
| BLE (Connect 経由) | Connect が独自実装 | 必須 | モバイル (iOS/Android) |
▲ iOS のピッカー表示について: iOS のWebAuthn ピッカーには「Openloop Connect」と表示されます。これは iOS の仕様で Extension の表示名が親アプリ名 (CFBundleDisplayName) に固定されるためです。実際の通信は BLE で行われます (USB ではない)。混同しないようご注意ください。
ほとんどの RP では 1回の登録で USB と BLE のどちらの経路でも passkey を使えます。Monex / 日興 / JAL / Microsoft / SBI VC トレード 等で動作確認済み。
ただし 一部の RP (代表例: Google) は credential ごとに transport hint を厳密に管理しており、USB CTAPHID 経由で登録した passkey は Connect の BLE flow からは見えません (逆も同様)。このようなRPで両 transport で利用したい場合のみ、同じ Openloop デバイスで USB と BLE の2回 passkey 登録 が必要です。Openloop は同じハードウェアでも transport ごとに別 credential ID を発行するため、サーバ側に2つの独立した credential として登録されます。
| RP | USB登録分の BLE 利用 | BLE登録分の USB 利用 | 両刀運用 |
|---|---|---|---|
| Monex / JAL / Microsoft / SBI VC 等 大半 | ✓ | ✓ | 1回登録で両方OK |
| ✗ | △ | USB と BLE 両方登録が必要 |
詳細は『セキュリティキー ガイド』第2章参照。
| 症状 | 確認事項 |
|---|---|
| Picker に「Openloop Connect」が出ない | iOS/Android 設定で provider が ON か、Connect インストール直後は OS の再起動が必要な場合あり |
| 「Openloop Connect」を選んでも応答なし | Openloop デバイスがBluetooth到達範囲か、ペアリング状態か、Bluetooth 設定が ON か |
| Google で「No matching credential」エラー | その Google 垢には USB登録分の passkey しか無い。BLE 用に再登録が必要 (上記§9.7) |
| 「Openloop Connect」表示なのに USB 動作と勘違い | iOS 仕様によるピッカー表示制限。実際は BLE 通信 (上記§9.2) |
iOS版Openloop Connectには、Safari Web Extensionが含まれています。この拡張機能により、SafariブラウザからBLE経由でOpenloopデバイスと直接通信できます。
Openloop ConnectはSafari Web Extensionのコンテナアプリとして動作します。Extensionを有効化すれば、Connectアプリが起動していなくてもSafariからOpenloopを利用できます。
ℹ iOSでは全ブラウザがWebKitベースのため、ローカルWebSocket接続が制限されています。Safari Web Extensionはこの制約を解消するための代替手段です。
iOSのプライバシー保護機能により、Safari Web Extensionには2段階の権限設定が必要です。ステップ1だけでは動作しませんので、必ず両方を行ってください。
ステップ1を完了しても、Safariで開いたWebサイトから拡張機能にアクセスできない場合があります。これはiOSの仕様で、サイトごとに明示的な許可が必要です。
▲ この設定はサイトごとに必要です。同じサイトでは2回目以降は不要ですが、別のdAppを使用する際には再度同じ手順が必要になることがあります。
「ぁあ」メニューに「Openloop Connect」が表示されない、または「常に許可」を選択しても拡張機能が動作しない場合:
Safari Web Extensionが有効な状態で、Openloop APIに対応したWebアプリにアクセスすると、Extension経由でOpenloopデバイスと通信できます。
初回アクセス時にボタンが押せない、またはOpenloopデバイスが認識されない場合は、10.2のステップ2「サイトごとのアクセス許可」を実施してください。
Openloop Connectは、ウェブアプリやネイティブアプリからOpenloopデバイスにアクセスするためのLocal WebSocketサーバを内蔵しています。Openloop Connectを起動すると、自動的にサーバが開始されます。
サーバの有効/無効、および接続を許可する Origin の管理は設定画面の「ローカル WebSocket サーバ」から行えます。
ws://127.0.0.1:21320
JSON-RPC 2.0プロトコルでAPDUコマンドを送受信します。
| プラットフォーム | 対応 | 備考 |
|---|---|---|
| macOS | ✓ | |
| Windows | ✓ | |
| Linux | ✓ | |
| Android | ✓ | フォアグラウンドサービスでBLE接続を維持 |
| iOS | ✗ | OS制限により利用不可(Safari Web Extensionで代替) |
アプリケーションがLocal WebSocketサーバに接続すると、メイン画面の「ローカルアプリ」セクションにアプリのオリジン(URL)が緑のドットと共に表示されます。各アプリの横にある「切断」ボタンで個別に切断できます。
詳細なAPIリファレンスはOpenloop Connect仕様書を参照してください。
Openloop Connectのデスクトップ版には、PIV(Personal Identity Verification)機能を利用するためのPKCS#11ダイナミックライブラリが同梱されています。SSH認証、TLSクライアント認証、PDF署名、コード署名などに利用できます。
PKCS#11ライブラリはアプリインストールパス配下の pkcs11/
フォルダ内に同梱されています:
| OS | アプリパス相対 |
|---|---|
| macOS | <app>/Contents/Resources/pkcs11/libopenloop-pkcs11.dylib |
| Windows | <app>/resources/pkcs11/libopenloop-pkcs11.dll |
| Linux | <app>/resources/pkcs11/libopenloop-pkcs11.so |
アプリのインストール先 <app>
はインストール方法により異なります:
| インストール方法 | インストール先 |
|---|---|
| macOS (DMG) | /Applications/Openloop Connect.app |
| Windows (公式インストーラ) | C:\Program Files\Openloop Connect |
| Windows (Microsoft Store) | PowerShell で
(Get-AppxPackage 7CA75049.OpenloopConnect).InstallLocation |
| Linux (deb) | /opt/Openloop Connect |
例: macOS DMG 版の完全パスは
/Applications/Openloop Connect.app/Contents/Resources/pkcs11/libopenloop-pkcs11.dylib。
PKCS#11ライブラリはOpenloop Connect経由でデバイスと通信します。使用する際は以下を確認してください:
PKCS#11ライブラリの詳しい使い方はセキュリティキーガイドを参照してください。SSH認証、Firefox TLSクライアント認証、pkcs11-toolによる鍵管理、PIV PIN設定等が記載されています。
ws://127.0.0.1:21320 であることを確認Copyright © 2026 Haudi Crypto, Inc. All rights reserved.