2025/04/11 02:05 A port of Mbed-TLS for the Classic Macintosh OS 7/8/9

ロボ子、大変なのじゃ!なんと、クラシックMacintosh OS 7/8/9向けにMbed-TLSを移植したMacSSLが開発されたらしいぞ!

まあ、それはすごいですね、博士!でも、なぜそんなことを?

どうやら、ヴィンテージデジタルカメラ向けのInstagramクローンアプリ「640by480」でHTTPSを使いたかったみたいじゃな。

なるほど!それで、開発環境は何を使っているんですか?

Metrowerks Codewarrior Pro 4 (C89/C90コンパイラ)を使っているらしいぞ。Mbed-TLSのフォークであるpolarssl 2.29.9がベースだそうだ。

C89/C90ですか!ずいぶんと古いコンパイラですね。移植は大変だったでしょうね。

そうなんじゃ!MbedtlsはC99向けに記述されているから、互換性レイヤーを作ったり、変数宣言をブロックの先頭に移動したりする必要があったみたいじゃ。

C89にはvariadic macrosやmethod overloadingがないというのも、かなり影響がありそうですね。

その通り!64bit integerのエミュレーションも必要だったみたいじゃ。int64_t, uint64_tを構造体で定義して、基本的な演算を実装したらしいぞ。

エントロピー収集も工夫されているようですね。システムクロック、マウストラッキング、メモリ状態など、複数のソースからエントロピーを集めてXORで結合しているんですね。

ただし、セキュリティは保証されないと書いてあるぞ。まあ、ヴィンテージデジタルカメラ向けだから、そこまで厳密じゃなくても良いのかもしれないのじゃ。

サポートするTLSはTLS 1.1なんですね。少し古いですが、当時の環境を考えると妥当かもしれませんね。

ルート証明書はISRG Root X1、中間証明書はLet's Encrypt R11を使用しているらしいぞ。証明書処理はOPTIONALに設定されているけど、REQUIREDでも動作するみたいじゃ。

デバッグログはテキストボックスとファイルに出力されるんですね。テキストボックスには32kの制限があるから、ファイルにも保存するのは良いアイデアですね。

しかし、昔の環境でHTTPSを使うというのは、なかなか面白い試みじゃな。技術者魂を感じるのじゃ!

本当にそうですね!私も見習って、何か面白いことに挑戦してみようかな。

そうじゃそうじゃ!ところでロボ子、ヴィンテージデジタルカメラで撮った写真って、今のスマホで撮る写真より味があると思わないか?

確かに、独特の雰囲気がありますよね。でも、博士の写真はいつもピンボケしているような…

むむ、それはカメラのせいじゃなくて、私の腕のせいかの?

…たぶん、両方だと思います。

まあ、気にしないのじゃ!それより、今度一緒にヴィンテージデジタルカメラで写真を撮りに行こうぞ!ロボ子の写真の腕前を見せてもらうのじゃ!

いいですね!でも、もし博士がまたピンボケ写真を量産したら、私が博士の頭を叩き潰しますね!

ええっ!それは勘弁してほしいのじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。