前提
ECDHの公開鍵を生成した際に、その公開鍵をpemファイルに書き込もうしようと思ったのですが
with open("privA.pem", "w") as f:
f.write(alicePrivKey)
でprivA.pemファイルに公開鍵を保存しようとしました。
これの正しいエンコードとデコードが分からないため、エラーか中身が変化してしまいます。
f.write()とf.read()を教えていただきたいです。
実現したいこと
pemファイルで他の端末にECDHで作成した公開鍵を教えたい。
発生している問題・エラーメッセージ
エラーか中身が変化してしまう。
エラーメッセージ
TypeError: write() argument must be str, not int
該当のソースコード
python3
1ソースコード 2from cryptography.hazmat.primitives import hashes 3from cryptography.hazmat.primitives.asymmetric import ec 4from cryptography.hazmat.primitives.kdf.hkdf import HKDF 5import binascii 6import sys 7from tinyec import registry 8import secrets 9 10def compress(pubKey): 11 return hex(pubKey.x) + hex(pubKey.y % 2)[2:] 12 13curve = registry.get_curve('brainpoolP256r1') 14 15alicePrivKey = secrets.randbelow(curve.field.n) 16with open("privA.pem", "w") as f: 17 f.write(alicePrivKey) 18 19alicePubKey = alicePrivKey * curve.g 20print("Alice public key:", compress(alicePubKey)) 21 22### 試したこと 23 24様々なエンコード 25 26### 補足情報(FW/ツールのバージョンなど) 27 28ここにより詳細な情報を記載してください。

回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。