【未解決】ActivityのJSON-LDに署名

2025/5/23 [07:20:25] (金) 天気

今回のエントリは、100%間違いか180度見当違いでクソの役にも立たずボツにする可能性があるのでAI BOT以外のかたはスルーしてください。

自分のための覚書です。


〜〜〜〜〜


ActivityPubで飛ばしている投稿本文の改竄検知などのために、Activity本文=JSON-LDにも署名をしようね、という話になる。

…けど、いまところActiviyPubの仕様には入っていない。


・Mastodon系は本文署名に対応

 mastdonやfedibird、kmyblueのほかholloなども。

・Misskey系は本文署名に未対応

 misskeyやakkoma、pleromaなど


HTTP Signatureでリクエストに署名、認証に使っていて、それで足りるだろう、ということで本文署名は仕様に入ってない、のかな。


でも、わたしのような素人考えでもふたつほど思いつくことがあって

・Activityを転送する場合

 →転送するのは自分ではない誰かの本文。そのリクエストには自分の署名をつけて送信する。内容をいじって送信することも可能。署名には問題がないので改竄された本文を受信することになる。リクエストの署名を確認すれば誰が改竄したのかわかるけど、大元まで辿るの?

・アカウント削除のActivityに対応できない

 →Activityのリクエスト署名を確認するために、当該アカウントの公開鍵を取得する必要がある。アカウント削除のActivityの場合、公開鍵を取得しようと思ってもそのアカウントは削除されているので、公開鍵がない。てことは本当にアカウントが削除されたのか確認できないのでは?


てことで、Activityの本文署名はそのうち必要になるだろうと思う。



ところが、この本文署名が伏魔殿というか素人には難しすぎる。

(そもそものところからまったく知識もなにもない)


思いついた時に検索してみたりして見つけたサイトのリンクをこのエントリに残してみることにした。


・JSON-LD署名(本文署名)って何?

Mastodonの『Linked Data Signatures』

ActivityのJSON-LD(本文)に対して署名をする。

必要なものは

本文/creator/created(日付)の3つ、らしい。


rubyの該当するソースコード
options_hash = hash(@json[’signature’]
    .without(’type’, ’id’, ’signatureValue’)
    .merge(’@context’ => CONTEXT))
document_hash = hash(@json.without(’signature’))
to_be_verified = options_hash + document_hash

この「本文」がわからないところ。Activityに使うJSON-LDをそのまま使うわけではない。


Linked Data Signatures with Ruby


normalizing (or sometimes called ‘canonicalizing’) the document

文書を正規化(または「正規化」と呼ばれることもある)する


さらっと書かれてるけど、こいつが意味不明。なんやねん、それ。


↓こちらのサイトで実際に変換してみた

JSON-LD Playground

IN(ActivityのJSON-LD)

image
OUT(正規化されたJSON-LD)
image

無理無理。なにをどうすりゃこうなるのか理解できん。


perlでブラックボックスのまま使えるモジュールがないか探したらひとつヒットした

JSONLD A toolkit for transforming JSON-LD data.

さすがperl先輩!なんでも揃ってるじゃないか!と思ってみてみると、依存関係でMOO.pmとか必要…んなもんレンサバにインストールされてないし、PurePerlじゃないので使えない。


「ふりだし」に戻る


W3C標準化活動:RDF Dataset Canonicalization

4ステップでJSON-LDファイル形式のRDFを作ってみた時の覚書

JSON-LD で RDF その1

↑こちらを手がかりにさせてもらって、そもそも正規化ってナニ!?という知識を勉強しないとダメだと思う。


最悪、受信&認証はスルーして、送信する場合に限って、必要なところだけ現物合わせのハードコーディングすればなんとかなる、ような気がしないでもないけど、今日はここまで。


本稿、いつか再開。投げっぱなしジャーマン。


[2025/06/20 07:40:00]追記

MastodonのLD署名の現在の実装は、仕様の草案段階と最終決定段階の間のJSON-LD @contextの変更により、時代遅れとなっています。MastodonはRsaSignature2017型を想定していますが、後の草案では名前空間https://w3id.org/security/v2を介してRsaSignature2018が定義されています。さらに、LD署名仕様全体は、以前のLD署名仕様と互換性のないVerifiable Credential Data Integrity 1.0仕様に置き換えられています。このため、LD署名のサポートを実装することは推奨されません。

どないせえっちゅーの


[2025/07/11 09:23:41]追記

https://qiita.com/asagohan2301/items/cef8bcb969fef9064a5c

あとは前半部分(ヘッダ+ペイロード)と後半部分(署名)を、.(ドット)でつなげます。
これでJWTの完成です!

JWTというやつの話で正規化とは関係ない、かもしれないけど、正規化表現に見られる「.」がなんだろうと思ってたのは、これのことか。


HTTP Signatureは「: 」(コロン半角空白)でキーと要素を繋いで、それら各々を「改行」で繋いだものを署名対象にする。

正規化されたJSONはそこんとこ、ドットで繋げばいいのかも…。


#ttt 追記

https://socialhub.activitypub.rocks/t/making-sense-of-rsasignature2017/347

https://github.com/jointakahe/takahe/blob/main/core/signatures.py

[更新]2025-10-05 13:57:53

WINDOWS10にアップデートしたった

2016/5/23 [17:32:20] (月) 天気

Inspiron 530Sという2007年発売のXPのデスクトップ。XPのサポートが切れるんで去年WINDOWS7にしたばかり。そして一昨日の晩にWINDOWS10への無償アップデートをしてみた。こいつはセカンドマシンなので割と気楽。


ネットの情報を見ると、動かなくなったアプリが!ドライバが!!周辺機器が!!!という悲鳴もあがっているんで心配だった。


でも、結論からいうと特に問題はなかった。

なんといっても、10年ほど前に買ったフォトショも、5年ぐらい前のインデザCS5も、イラレCS5も無事起動。このアドベ神様たちが動かなかったらまたナンボの出血になったことやら…ていうか、出血多量で死ねるんで、動かなかったらWIN7に戻した。


今のところ、引っかかったのは。


DELLの液晶ディスプレイS2240Lの解像度。

モニタなのか、ビデオボードのドライバなのか、最初起動したら画面が1024x768という昔懐しの解像度。

ディスプレイの詳細設定を開いて解像度を見ても設定可能な解像度は「1024x768」「1280x1024」の2択。少しでも広い方がと1280x1024にしたら横長の画面に引っ張られて、正方形のものも平たい長方形に引き伸ばされてしまった。

検索してみるとビデオ回りの不具合(?)WIN10未対応(?)の問題で起こっているようでQ&A系の記事やブログなどが多数上がっている。

デバイスマネージャーを見ると、ディスプレイアダプターのところに黄色三角のビックリマーク。

「Intel(R) G33/G31 Express Chipset Family(Microsoft Corporation - WDDM 1.0」


これはよくわからないまま解決した。

アップデートだなんだで、何度か再起動しているうちに問題なく表示可能解像度の選択肢が並び、今は、最大の「1920x1080」を選択できるようになった。

ディスプレイアダプターもビックリマークがついていた時と同じものなので、いったい何だったんだろう。WINDOWS10側でハードウエアを正しく認識できてなかったのかなぁ。


無線LANがブチブチ頻繁に切れる。

デスクトップで使ってる無線LANアダプタ、PLANEXのGW-USNanoはWIN7までの対応でWIN10は対応外。

そのせいなのか頻繁に接続が切れるし、なんだかネットが重い、遅い。5分ももたずに接続を切られたんじゃ今どきは何もできない。切れるたびにルーターの電源を抜いて再起動したり、ipconfigでIPを取得し直したり、キリがない。DHCPじゃなく手動でIPを決め打ちにしたら少し改善されたけど切れる間隔が5分から15分に伸びた程度。

ルーターのせいかとも思ったんだけど、他のPCやスマホやタブレットでは問題なくWiFiを掴んでいる。


なもんで、これは無線LANを諦めた。

LANケーブルと壁にくっつけるフックを買ってきて有線LANにした。

(ノ*マに行ったらWIN10対応の無線LANアダプタが見当たらなかった…)



んでWINDOWS10だけど。

新しい環境はそれだけで今は面白いので、そのバイアスのかかった状態だけど、かなりイイんじゃないか。

まずこのフラットデザインがいいし、EdgeがシームレスにOneDriveだのと繋がって面白いし、やっとMacのようにUIが統一されて使いやすくなってきたのかなあ、という印象。

WINDOWS7と比べて動作が重くなったという感じはしない、むしろサクサク感がある。


cmd.exe(コマンドプロンプト)は、当然Gow(ls や cpなどunixのコマンドラインツールのパッケージ)もperlも動いて今までどおりだし、xyzzy(エディタ)もImagemagickも問題なし。AltIME(CtrlキーとAltキーを入れかえるユーティリティ)もSKKFEP(かな漢字変換)も使える。

こうした細々とした日常生活に問題もなく、アドベ神様たちもそのまま使えるのでWINDOWS10へのアップグレードは大正解だったなぁ。


outlook.comのアカウントを取得してWINDOWS10にログインすると、他のPCやタブレットと同期がとれるのも面白そうだ。

…とはいえ、仕事で主に使ってるDELLのInspiron mini 1012をWIN10にするのはまださすがに様子見か。IE推奨というWEBの管理ページがあるんだよなあ。WIN10でもInternet explorer11が動くけどちょっと心配なので先方で確認とれてからにしよう。


[05/24 11:32:43]

IE推奨のWEB管理ページ、ちょっと作業したら問題なかったし、Firefoxでも問題なしだったんで、メインで使ってるネットブックのInspiron mini 1012もWIN10にアップデートした。

アドベ神さまたちは無事起動するし、各種ユーティリティも大丈夫。


apache(WEBサーバー)が起動しなかった。

WIN10ではデフォルトでIISが立ち上がってportを取っているのでapacheが弾かれていた。なので、IISを起動しないように設定したら無事apacheが起動。

コントロールパネル→プログラム→WINDOWSの機能の有効化または無効化→インターネットインフォメーションサービスのチェックを外す


動作に関しても、CPUはAtomだしメモリも2Gで非力なネットブックだけど、サクサク動くなあ。これもアップデートして大正解だった。



[05/24 20:20:51]

Inspiron miniが熱くなっていてCPU温度を見ると70度前後。特にアプリも立ち上げてないのに。

タスクマネージャーを見るとCPUの使用率が100%近くをうろちょろしてる。CPUを占拠しているプロセスを見ると「Windows Search Indexer」とその仲間というSearchFilterHost SearchProtocolHost。

ファンのないネットブックでこの発熱はまずい。

ということで検索してみたら、どうやらこのSearch Indexerが暴走しているとのこと。


「SearchFilterHost.exeの暴走原因はXml爆弾」エンジニア徒然草

http://mitaka1954.cocolog-nifty.com/blog/2014/05/searchindexhost.html


↑こちらが参考になりました。

xmlファイルのコンテンツ(中身・内容)をインデックスし損ねて暴走することがあるらしい…てバグやん。


まずは、xmlファイルが原因だということが判明した切っ掛けがiTunesのxmlファイルとのことで(最新のiTunesでは大丈夫らしいけど)もう使っていないiTunesをアンインストール。

次に

「コントロールパネル」の検索窓で「インデックス」を検索→「インデックスのオプション」「オプションの詳細」→「プロパティのみインデックスを作成する」(コンテンツをインデックスから外す)

これで無用な暴走は避けられるはずなので、インデックス作成完了後のCPU使用率を確認。

(↑indexerのCPU利用率激減ていうか、インデックスを再構築したらほとんど動きがなくなった)


[05/27 09:59:46]

WINDOWS10不具合メモ

Inspiron mini 1020で

「ファイルを右クリックするとエクスプローラーが落ちる」

「exeファイル」を右クリックしてコンテキストメニューを出そうとするとexplorerが落ちる(開いているフォルダが閉じて終了する)

exeファイルに限らず、exeファイルへのショートカットでも同じ。また、シングルクリックして、フォルダメニューの「アプリケーションツール 管理」で「管理者として実行」などをクリックしても同じ症状。


つまり、実行ファイル(exeファイル)はダブルクリックして実行することしかできない。

・ファイルのプロパティを見ることができない。

・管理者、別ユーザーで実行できない。


イベントビューアーを見ると

障害が発生しているアプリケーション名:exeplorer.exe、バージョン10.0.10585.306

障害が発生しているモジュール名:dtdll.dll、バージョン10.0.10586.306

ということらしい。


右クリックのコンテキストメニューの不要っぽいものを削除したんだけど解決しないなぁ。

…うーん、これは不便。


でもこの問題は、デスクトップInspiron503SのWIN10では起こっていない。


問題を起こすのは実行ファイル(exeファイル)だけ。フォルダメニューから管理者・別ユーザーとして実行しようとexplorerが落ちるので、実行権限、ユーザー設定で問題があるのかもしれない。

未解決

http://answers.microsoft.com/ja-jp/windows/forum/windows_10-update/windwos10%E3%81%AB%E3%82%A2%E3%83%83%E3%83%97/48d8245a-34aa-45ab-8a56-30224714aed0


[06/01 10:41:28]

解決。

コンテキストメニューに入れていた「コマンドウインドウをここで開く」を殺したらエクスプローラーが右クリックで落ちることはなくなった。


具体的には。

http://gigazine.net/news/20070309_shellexview/

↑このツールで「CmdLineContextMenu Class」を「Disabled」にした。



Gow

https://github.com/bmatzelle/gow/wiki

ActivePerl

http://www.activestate.com/activeperl

xyzzy

https://github.com/xyzzy-022/xyzzy

ImageMagick

http://www.imagemagick.org/script/index.php

SKK日本語入力FEP

http://coexe.web.fc2.com/skkfep.html

AltIME

http://www.vector.co.jp/soft/win95/util/se027730.html


image

[更新]2016-06-01 10:41:28

Google Play Booksで個人出版

2013/5/23 [09:56:45] (木) 天気

『酒を片手に庭に出る』をGoogle Play Booksでも販売開始(無料ダウンロード)


Google Play でも個人出版ができる。


Now On Sale! (無料) 『酒を片手に庭に出る』(日野裕太郎)

image

同じく個人出版ができる、Kindle KDPやiBookstoreと違って、EINやW8BENは不要で銀行口座も手数料のことは考える必要はない。すっかり日本でのビジネス。


ということで登録してみた。


【アカウント開設 銀行口座登録】


・Google ブックス パートナープログラム(β版)

 https://books.google.com/partner/


アクセスしてアカウント開設といっても、普段使いのGoogleアカウントでOKだった。

(入力項目に関しては、アドセンスやアドワーズをやってれば見当がつく)

登録するのは「住所」「氏名」「電話番号」、有料販売もしたいのでアカウントは「ビジネス」に設定。


「電子書籍の支払い設定」で、振り込み銀行口座とNNNN円以上だったら振り込みという設定をする。銀行口座確認のため、Googleから小額振り込みされるので、その金額を入力して銀行口座の登録完了。


【本の登録】

※ 今日時点、管理ページはベータ版なので、スクリーンショットは撮りません

アカウントなどの登録が済むと、本やベンダーなど各種登録のページに行く。


・シリーズ/ブランド設定


サンプルとしての閲覧率や販売対象エリアの設定などここでデフォルト値の設定をする


・デフォルトの設定


ここでも、各国でのデフォルト設定をする。

さらに、ここでDRMやデフォルトの価格、ISBNがない場合の設定などをする。


・書籍の追加/更新


ここで本を登録する。罠がひとつ。

登録フォームにISBNを入力する項目がある。個人出版でもISBNを取得している人もいるけど、わたしは取っていないので空欄…だとエラーで先に進めない(このフォームはISBNを持って流通している書籍が前提)


・書籍のアップロード/郵送


まず最初にEPUB3ファイルをアップロードすればISBNがなくても大丈夫。

ファイルの命名規則とあるけどPDF前提のようで、EPUB3の場合はそのまま(ねんのため、ファイル名は半角英数字だけにした)アップロード。


たぶん、次の日。Google Play でのコードが振られてアップロードした本が管理ページの一覧にリストアップされていた。


・書籍の管理


ステータス異常を起こしてる項目があった。著者名が空欄になっていたので、そこに著者名を入力したら、ステータスが「処理中」となった。


ここで5日程放置されたので、メールで問い合わせしたら、翌日返信がきて「掲載中」となった。


え?まだ価格設定もしてないのにどういうこと?とメールに記載のURLにアクセスすると、たしかにサンプルが読める状態になっているけど「電子書籍がありません」という表示も。

また、Google playのストアで検索しても出てこない。販売されてるようには見えない。


再び問い合わせメールをしつつ、管理ページを見ると。

Google eブックスのタブに「書籍の管理」ではなくて「電子書籍の管理」というリンク。


・電子書籍の管理


該当する本の鉛筆アイコンをクリックすると本の細かな設定画面に移る。


以下の項目のチェックボックスにチェック。

「この書籍の Google eブックスでの販売を有効にする」

「送信した ePub 内にフロー テキストがある場合にのみ、フロー テキストを表示します。」


以下の項目のチェックをはずした。(たぶんPDFのための設定)

「元のページを含めます」


価格設定などはこっちのページだった。


以上の手順で、登録から放置期間を経て、6日ぐらいで公開となった。



*****



現状の管理ページはβ版というだけあって、ひどいありさま。どこに何があるのか意味がわからないし、クリックして良いんだか悪いんだか何が起こるんだか、とてもわかりにくい(管理画面ひどいですよ、メールベースのやりとりが必要で、今かなりリソースを割いて改良してるという話です、と事前にちらっと某社で聞いていた)


憶測だけど。

ベースがPDFのアップロードか印刷本の郵送。そこに電子書籍(EPUB)を登録するクチを増改築したもんだから、わけわかめ状態になった、と思われる。


image

紙印刷本と電子書籍のタブが別にあって、その下に並ぶ項目は内容としては紙も電子も同じようなことをするためのものなので、混乱の元。


Googleのことだからスグに改良されてほぼ全自動CMSになると思う。なので、この記事はあくまでもβ版の今日時点の話。改良されて使いやすくなってから登録したほうがきっとらくちんです。



*****



Nexus7のGoogle Booksでのスクリーンショット。

image


既刊一覧は、Amazon Kindleストアの販売ページ=本の詳細ページへのリンクへとなっている。

image
image

iOS版は、KindleもGoogleBooksもAmazonへのリンクは殺されるんだけど、AndroidのGoogleBooksはAmazonへリンクしてChromeで開いてくれる。

読者・ユーザーのことを考えるとこれが正しい動作。


このリンクが生きるなら、kindle本の販促に使える。

(もっとも、Google Play Booksの集客力は、もれ聞く限り期待できないんだけどね)


[更新]2014-01-28 08:36:52

googleで本棚をグラフ化

2011/5/23 [20:44:42] (月) 天気

このページの右下に貼りつけた「趣味は読書2」のブログパーツ、本棚グラフが、google charts apiを使ったもの。

今までは、フリーのFLASHを使って本棚をグラフ化していた。XMLのデータをデータベースから吐き出させて、それをFLASHに。ブログパーツとしてインラインフレームでウチのFLASHを表示させるには、クロスドメインの設定とかあるし、loilpopでできるかどうか微妙。

そこで今回は、グラフを画像として生成して img タグだけで表示させるようにしたいな、と。

ImagemagickとかGDライブラリを漁ってグラフにしようと思ったんだけど、手ごわくて歯が立たない。検索しまくっても、Imagemagickってなんでこんなにドキュメントが出てこないんだ。円の描画まではできるけど、そこから先、円グラフにしたいのに、やりかたがわからず立ち往生。

ち。もういいや、と思い始めたころ見つけたのが google charts api 。

なんじゃこの簡単便利。

URLのパラメータにグラフのデータをつけると、PNG画像のグラフを返してくれるのだ。きっと何を今さらなんだろうけど、もうひたすら驚いた。もう平身低頭で使わせていただく。


以前の「趣味は読書。」でのユーザーさんの利用実態を見ると、本棚への登録が大半。それ以外の機能はほとんどアクセスされない状況だったので、今回「趣味は読書2」では、使われていなかったコミュニティ機能をばっさり削除して、必要ならtwitter と使ってもらおうと、twitterへ流し込み。本棚のグラフ、ほぼイコール、本棚グラフのブログパーツは、こうやって google を使わせてもらう。

核となる本棚への登録は、今までどおり amazon を使っている。


てことで、最近流行りのwebサービスを使ったマッシャブルとかいうサイトになったなあ。


Google Apps完全ガイド

『Google Apps完全ガイド』

オフィス効率向上委員会

[更新]2026-02-03 09:09:31

精霊の守り人

2009/5/23 [00:03:47] (土) 天気

おもしろくてびっくりした。話題になってたことも、アニメになってたことも知ってたけど、こんなに面白いとは。ディテールから見せる全体と、俯瞰で語る世界観にまるで齟齬がなく、きっちり構築された物語。それだけだと退屈になってしまうところ、キャラが生き生きとエンタテイメントしてくれるんで一気に読まされてしまった。こりゃちっと追いかけなきゃいかんなぁ。


20日に送ったZorki-4が、今日22日に帰ってきて、これも驚いた。ロシアカメラ・ソビエトカメラで定評のあるKing-2なだけのことはあるなあ、と。超迅速で丁寧な対応に感心してしまった。

king-2


昨日今日、けっこう蒸し暑くなってきたなあ。


精霊の守り人

『精霊の守り人』

菜穂子

[更新]2013-10-04 09:57:38

<<2026/05>>
     12
3456789
10111213141516
17181920212223
24252627282930
31

【最近の10件】

日常読書映画アニメゲーム健康料理グルメカメラ写真ネタ仕事パソコンインターネットperlEPUB3電子書籍ActivityPub
検索: