Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

ValueError: Invalid key size (104) for RC4.

オープン
#269 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
python
領域
backend

調査の方向性

まず、特に pipeline_api と response_generator を中心に、prepline_general/api/general.py を通る traceback を再現します。次に、RC4 キーの構築に関する pypdf/_reader.py、pypdf/_encryption.py、pypdf/_crypt_providers/_cryptography.py を調査します。完了条件は、報告された PDF メタデータへのアクセスで無効な 104 ビット RC4 キーエラーが発生しなくなり、その PDF に対する期待される処理が確立されていることです。

索引モデルが issue の本文から書いたものです。

説明

Related to the pdf.metadata line from https://github.com/Unstructured-IO/unstructured-api/pull/249

ValueError: Invalid key size (104) for RC4
...
File "prepline_general/api/general.py", line 607, in response_generator
    response = pipeline_api(
  File "prepline_general/api/general.py", line 281, in pipeline_api
    pdf.metadata
  File "pypdf/_reader.py", line 388, in metadata
    obj = self.trailer[TK.INFO]
  File "pypdf/generic/_data_structures.py", line 320, in __getitem__
    return dict.__getitem__(self, key).get_object()
  File "pypdf/generic/_base.py", line 312, in get_object
    obj = self.pdf.get_object(self)
  File "pypdf/_reader.py", line 1410, in get_object
    retval = self._encryption.decrypt_object(
  File "pypdf/_encryption.py", line 845, in decrypt_object
    cf = self._make_crypt_filter(idnum, generation)
  File "pypdf/_encryption.py", line 917, in _make_crypt_filter
    stm_crypt = self._get_crypt(self.StmF, rc4_key, aes128_key, aes256_key)
  File "pypdf/_encryption.py", line 934, in _get_crypt
    return CryptRC4(rc4_key)
  File "pypdf/_crypt_providers/_cryptography.py", line 43, in __init__
    self.cipher = Cipher(ARC4(key), mode=None)
  File "cryptography/hazmat/primitives/ciphers/algorithms.py", line 143, in __init__
    self.key = _verify_key_size(self, key)
  File "cryptography/hazmat/primitives/ciphers/algorithms.py", line 20, in _verify_key_size
    raise ValueError(
主要言語
Python
スター
953
フォーク
192
平均マージ
1日 1時間
マージ済み PR(30日)
5

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Unstructured-IO/unstructured-api のほかの issue

Unstructured-IO/unstructured-api の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。