Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
seccamp2024-edictionary-python-TLS
Search
らすぴー
September 07, 2024
Technology
0
22
seccamp2024-edictionary-python-TLS
らすぴー
September 07, 2024
Tweet
Share
More Decks by らすぴー
See All by らすぴー
限界環境CPython rev. seccamp2025
raspython3
0
27
kernel-vm-ittekita-yuukousai
raspython3
0
71
kernelvm-brain-net
raspython3
0
930
pyconjp2024-wince
raspython3
0
21
Other Decks in Technology
See All in Technology
【AWS re:Invent 2025速報】AIビルダー向けアップデートをまとめて解説!
minorun365
4
510
プロンプトやエージェントを自動的に作る方法
shibuiwilliam
0
970
Power of Kiro : あなたの㌔はパワステ搭載ですか?
r3_yamauchi
PRO
0
110
OCI Oracle Database Services新機能アップデート(2025/09-2025/11)
oracle4engineer
PRO
1
130
EM歴1年10ヶ月のぼくがぶち当たった苦悩とこれからへ向けて
maaaato
0
280
モダンデータスタック (MDS) の話とデータ分析が起こすビジネス変革
sutotakeshi
0
470
CARTAのAI CoE が挑む「事業を進化させる AI エンジニアリング」 / carta ai coe evolution business ai engineering
carta_engineering
0
710
AWS Trainium3 をちょっと身近に感じたい
bigmuramura
1
140
ブロックテーマとこれからの WordPress サイト制作 / Toyama WordPress Meetup Vol.81
torounit
0
570
[デモです] NotebookLM で作ったスライドの例
kongmingstrap
0
140
20251209_WAKECareer_生成AIを活用した設計・開発プロセス
syobochim
7
1.5k
チーリンについて
hirotomotaguchi
6
1.9k
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
39k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Thoughts on Productivity
jonyablonski
73
5k
Faster Mobile Websites
deanohume
310
31k
Automating Front-end Workflow
addyosmani
1371
200k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Docker and Python
trallard
47
3.7k
GraphQLとの向き合い方2022年版
quramy
50
14k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
YesSQL, Process and Tooling at Scale
rocio
174
15k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Transcript
~だっておもしろそうだったから~ 1
1. 自己紹介 2. 今回やったこと 3. 動機 4. 電子辞書Pythonとは 5. TLSとは
6. 今回移植したものについて 7. 結果 8. 番外編 9. おわりに 2
1. 自己紹介 2. 今回やったこと 3. 動機 4. 電子辞書Pythonとは 5. TLSとは
6. 今回移植したものについて 7. 結果 8. 番外編 9. おわりに 3
活動名 RasPython3 / らすぴー 普段やってること 各種ウェブツールづくり Discordのボットづくり Linuxいじり 電子辞書いじり 4
1. 自己紹介 2. 今回やったこと 3. 動機 4. 電子辞書Pythonとは 5. TLSとは
6. 今回移植したものについて 7. 結果 8. 番外編 9. おわりに 5
PythonでTLS実装した! Pythonで書いたTLSのクライアントとサーバーを電子辞書で 動かしたい! 6
作業の流れ 1. TLSのクライアントとサーバーをPythonで実装する 2. 必要なライブラリを電子辞書に移植する 1. cryptographyを移植する 1. OpenSSLを移植する 2.
cffiを移植する 1. libffiを移植する 3. 動かす 7
1. 自己紹介 2. 今回やったこと 3. 動機 4. 電子辞書Pythonとは 5. TLSとは
6. 今回移植したものについて 7. 結果 8. 番外編 9. おわりに 8
なんか...面白だったから 9
1. 自己紹介 2. 今回やったこと 3. 動機 4. 電子辞書Pythonとは 5. TLSとは
6. 今回移植したものについて 7. 結果 8. 番外編 9. おわりに 10
• おそらく大半の方の疑問 • 2023年 4月頃から移植開始 2023年12月に初の動作確認 • Python2.5の頃にもWinCEサポートはあったが、Python3には無 かった •
なかったから作った 11 Python CE
12 ふつうのWindows • カレントディレクトリあり • Errnoあり • 環境変数あり • コンソールあり
電子辞書のWindows CE • カレントディレクトリなし • Errnoなし • 環境変数なし • コンソールなし いろいろ再現する必要がある
1. 自己紹介 2. 今回やったこと 3. 動機 4. 電子辞書Pythonとは 5. TLSとは
6. 今回移植したものについて 7. 結果 8. 番外編 9. おわりに 13
• Transport Layer Securityの略 • httpsやwssなどで使われている • TLS1.3: RFC 8446
• SSLの後継(?)である 14
1. 自己紹介 2. 今回やったこと 3. 動機 4. 電子辞書Pythonとは 5. TLSとは
6. 今回移植したものについて 7. 結果 8. 番外編 9. おわりに 15
• cryptography • Pythonの暗号ライブラリ • OpenSSLを利用する • 今回は暗号計算や証明書のパースに利用 • ソースコードにRustを含んでいるが、Rustは使えないので古いバー
ジョンを使用 • OpenSSL • みんな大好きOpenSSL • 今回はバージョン3.0.7を移植 • 実は海外勢が移植に成功しているが、ビルドツールの関係で追加で 移植作業をした 16
• cffi • C言語で書かれたPythonライブラリ • C Foreign Function Interfaceの略 •
cryptographyの動作に必要 • libffi • cffiが依存するライブラリ • セキュキャン期間中に移植が間に合わなかったが、後日初歩的ミスで あったことが判明しちょっと落ち込んだ 17
1. 自己紹介 2. 今回やったこと 3. 動機 4. 電子辞書Pythonとは 5. TLSとは
6. 今回移植したものについて 7. 結果 8. 番外編 9. おわりに 18
動いた~~~~!!! 19 クライアント サーバー
1. 自己紹介 2. 今回やったこと 3. 動機 4. 電子辞書Pythonとは 5. TLSとは
6. 今回移植したものについて 7. 結果 8. 番外編 9. おわりに 20
そういえばPythonで実装されたTLSのサーバーって... ...こんなところに同じS04の受講生の方が書いたサーバー が!!! →これも電子辞書で動かしちゃえ! 追加で移植したライブラリ • PyCryptodome 21
• 問題発生 import Cryptoがうまくいかない • 原因 import時にファイルの大文字と小文字を無視するフラグ PYTHONCASEOKがオンになっていた →Cryptoとcryptoを区別できなかった Crypto:
PyCryptodome crypto: そのサーバーに含まれていたモジュール 22
• なぜPYTHONCASEOKがオンになっていた? 23
うごいた~~~! 24 自分のクライアント もう一人の方のサーバー
PythonのWinCE移植について 今月末に東京で開催されるPyConJP 2024にて野良トークします! ご清聴ありがとうございました! 25