機密性の高いデータを含むフィールドは、直列化すべきではありません。直列化すると、直列化ストリームにアクセスすることでそれらの値を相手方に公開することになります。フィールドの直列化を防ぐ方法をいくつか次に示します。
- 機密性の高いデータを含むフィールドを private transient とする
- 該当するクラスの
serialPersistentFields
フィールドを定義し、フィールド記述子のリストからそのフィールドを除外する
- クラス固有の直列化メソッド (
writeObject
や writeExternal
) を記述する。固有メソッドはフィールドを直列化ストリームに書き込まない (つまり ObjectOutputStream.defaultWriteObject
を呼び出さない)
目次 | 前の項目 | 次の項目
Copyright © 1997-2001 Sun Microsystems, Inc. All Rights Reserved.