S. Ota's avatar
S. Ota
_@susumuota.github.io
npub1susu...0yu8
A programmer. An author of nostr-keyx. Interests: Reinforcement Learning, Natural Language Processing and Artificial General Intelligence.
S. Ota's avatar
s_ota 3 years ago
NIP-07 ブラウザ拡張機能 nostr-keyx の v1.4.0 をリリースしました。 - YubiKey 対応. - NIP-07 を許可する URL 設定を追加 YubiKey やパスキー認証については、本日開催される Nostr勉強会 #1 (2023/03/10(金) 22:00-) にて「Nostr でパスキー認証」というタイトルで発表予定です。 image
S. Ota's avatar
s_ota 3 years ago
秘密鍵にアクセスした回数を表示するようにしてみた。NIP-07 のうち、`signEvent`, `nip04.encrypt`, `nip04.decrypt` の回数。とりあえず4桁までは表示できることを確認。 image
S. Ota's avatar
s_ota 3 years ago
最近はラズパイに Ubuntu を入れられるようになったのでちょっと楽になった。でも AWS か GCP で無料枠でサーバを借りる方がもっと楽...
S. Ota's avatar
s_ota 3 years ago
うちのラズパイ 3B+ は 4年くらい立ち上げっぱなしだけどまだ壊れてない。
S. Ota's avatar
s_ota 3 years ago
OS ネイティブのキーチェーンアプリを利用して秘密鍵を保護する、NIP-07 ブラウザ拡張機能 nostr-keyx の v1.2.0 をリリースしました。 - Windows と Linux の OS ネイティブキーチェーン対応 初期設定が結構大変なので以下ドキュメントも参考にしつつ試してみてください。 また、YubiKey 等の任意のハードウェア認証デバイスから秘密鍵を取得することも出来ると思います。 `keychain.ts` の `spawnSync` のところで秘密鍵を返すコマンドを指定してください。 https://github.com/susumuota/nostr-keyx/blob/main/node/keychain.ts image
S. Ota's avatar
s_ota 3 years ago
S. Ota's avatar
s_ota 3 years ago
S. Ota's avatar
s_ota 3 years ago
仕様が数字の件、理系に略語を作らせると大抵ろくでもないことになるから数字にしておいたほうがマシだと思う。
S. Ota's avatar
s_ota 3 years ago
2要素認証 は node で10行くらいで書けるのでシークレットさえちゃんと保存しておけばどうにかなることを最近知りました。
S. Ota's avatar
s_ota 3 years ago
S. Ota's avatar
s_ota 3 years ago
2/22 は別の会の発表者になってるので燃え尽きてると思う...
S. Ota's avatar
s_ota 3 years ago
nos2x のコードの書き方も最近の Chrome Extension のスタイルとはかけ離れ過ぎている...
S. Ota's avatar
s_ota 3 years ago
Twitter API がいつ使えなくなるのか待っているが、今朝も使えてた。2/14 だけエラーになった。 - 2/13 OK - 2/14 エラー - 2/15 OK - 2/16 OK `a few more days` と言っているのでそろそろ使えなくなりそう。 > There has been an immense amount of enthusiasm for the upcoming changes with Twitter API. > Twitter APIの今後の変化に対する熱意は計り知れないものがあります。 あと、皮肉が効きすぎている :D
S. Ota's avatar
s_ota 3 years ago
[ソース1](https://github.com/getAlby/lightning-browser-extension/blob/ce1b4b0e48493ec82fbc4af46fa7237af3ce0d02/src/extension/background-script/state.ts#L98) `decryptData` は AES。password は平文。 ``` const password = get().password as string; const privateKey = decryptData(account.nostrPrivateKey as string, password); ``` [ソース2](https://github.com/getAlby/lightning-browser-extension/blob/ce1b4b0e48493ec82fbc4af46fa7237af3ce0d02/src/extension/background-script/state.ts#L131) pick で password を除外されるので `browser.storage.sync` には保存されていないはず。 ``` saveToStorage: () => { const current = get(); const data = { ...browserStorageDefaults, ...pick(current, browserStorageKeys), }; return browser.storage.sync.set(data); }, ``` ``` % cat ~/Library/Application\ Support/Google/Chrome/Default/Sync\ Extension\ Settings/iokeahhehimjnekafflcihljlcjccdbe/000003.log password はなかった。 ```