シナリオ:
マシンからログインした 2 人のノーツ クライアント ユーザー A と B がいて、次のことが起こります。
ユーザー A は、最後に Notes クライアントを使用したユーザーです (したがって、notes.ini にはユーザー A の情報が含まれています)。そして、私が作業しているデータベースはユーザー B の nsf ファイルです。
行動:
を使用して、暗号化されたメモにファイルを添付していますNSFNoteAttachFile
。MIMEConvertCDParts
添付後、メモをMIMEに変換するために使用したい。(そしてMIMEStreamOpen
コンテンツをストリームとして取得するために使用します)
メモを解読するためのキー/ID/パスワードがありません。したがって、に変換するとMIMEConvertCDParts
、メモの内容は
"[この MIME ドキュメントの一部は Notes 証明書で暗号化されているため、読み取ることができません。]",
これは期待されています。
問題
しかし、以前に追加した添付ファイルが変換されたストリームにありません (最初に存在していた添付ファイルはまだそこにありますが、キー/pwd を提供しなかったため、サイズはゼロです)。
MIMEConvertCDParts
(変換)の前後のノートのフィールドをダンプしてみました。
変換前は、$File
自分のアタッチメントを持つ「 」オブジェクトがフィールドの 1 つとして存在し、
しかし、変換後、MIME には表示されませんが、変換によってこれがフィールド " $MIMETrack
" に追加されます。
「2013 年 2 月 25 日 10:30:02 AM に CD-MIME が失敗しました: このファイル オブジェクトを抽出するには、一括復号化キーを指定する必要があります。」
添付ファイルを追加したときに、NSF ファイルの元の所有者 (ユーザー B) の公開鍵 (または存在する他の鍵) のいずれかで暗号化されたと思います。
知っておくべきこと
追加するときにファイルをそのままにしておくように notesapi に指示/強制するにはどうすればよいですか。つまり、暗号化なし。
または、変換中に復号化するように依頼するにはどうすればよいですか (ユーザー A の独自のキーを使用して暗号化を行った場合)。また、添付ファイルの暗号化に使用されたキーを確認するにはどうすればよいですか?
どんな助けでも大歓迎です。
ありがとう、リトルボーイ。
PS: ユーザー B の nsf ファイルを、B を認識したことがないドメイン/マシンに移動すると、添付ファイルの追加/取得に問題はありません。これが、B の公開鍵が A に知られている可能性があり、B のメモに追加するとファイルが自動的に暗号化されると私が考えるようになった理由です。