1

暗号化されたメールを Lotus Notes の受信ボックスに送信しました. ローカルからそのメールにアクセスすると true になります. 同じメールが別のシステムで実行されている場合は false になります. 設定の問題ですか?私のコードは logger.debug("This Email is encrypted? "+document.isEncrypted()); のようになります。私のローカルロガーは「この電子メールは暗号化されていますか? true」と出力しています。他のシステムで同じ電子メールフォームを実行すると、「この電子メールは暗号化されていますか? false」と出力されます。これはドキュメントのプロパティです。フィールド名: 暗号化。データ タイプ: テキスト データ長: 1 バイト シーケンス番号: 1 Dup アイテム ID: 0 フィールド フラグ: 概要

「1」

わからない 私のコードは場所によって動作が異なります。

助けてくれてありがとう。

4

1 に答える 1

3

isEncrypted() プロパティは Encrypt フィールドとは関係ありません。そのフィールドは単なる UI スイッチです。isEncrypted() プロパティは、$Seal アイテム、またはメッセージが MIME 形式の場合は SMIME コンテンツに基づいています。

表示されている内容に関連すると思われる 2 つの質問があります。

  • メッセージを読むために 2 つの異なる Notes ID ファイルを使用していますか?
  • 両方のシステムで同じバージョンの Lotus Notes を使用していますか?

暗号化されたメッセージを Notes API で開き、現在の Notes ID ファイルにメッセージを復号化するための正しい秘密鍵が含まれている場合、メッセージは自動的に復号化されます。これは、LotusScrpt および Java API の下のレイヤーで発生するため、これらの API は、ドキュメントが暗号化されていないことを認識して false を返します。しかし、明らかに IBM はバージョン 8.5.2 でこれを変更しました。これは、8.5.2 で isEncrypted() が true を返すことを報告するリンクです。IBM はコードを修正したようで、自動復号化が既に行われているにもかかわらず、正しい答えを知るようになりました。

もちろん、暗号化されたメッセージを Notes API で開いた場合、メッセージを復号化するための正しい秘密鍵が含まれていない Notes ID ファイルを使用すると、IsEncrypted() は常に true を返します。

于 2012-09-28T21:19:25.690 に答える