0
これは私が行う予定です。セッションでRSA秘密鍵を保存しましたが、それは台無しにされました
- 生成されたRSA公開鍵/秘密鍵の利用者は、私のウェブサイトを呼び出す
- はブラウザに公開鍵を付けたときに
- 保存セッションで秘密鍵(Node.jsの、表現・セッション)
- ユーザーがログインしよう公開鍵を使用してIDとパスワードを暗号化し、秘密鍵で復号化してセッションに保存しました。
ここに問題があります。私はこの方法のように、秘密鍵に
app.get('/', function(req, res) {
var passPhrase = 'secret key';
bits = 1024;
req.session.rsa = cryptico.generateRSAKey(passPhrase, bits);
....
}
を保存し、RSAキーはかなり長いようで、私は、画像を添付 - > RSA that I generated first(image)
しかし、私は別のAJAXでのセッションからRSAキーを呼び出すとき、突然、それが短くなり、Iそこにエラーであり、それが
app.post('/login', function(req, res) {
console.log(req.session.rsa);
}
RSA that I loaded from the session in app.post('/login')
「あなたの秘密鍵は、公開鍵と一致していない」と言うので、メッセージを復号化することはできませんこの問題のため、ID/pwの暗号化/復号化にRSAプライベート/パブリックキーを使用することはできません。なぜそれが起こるのですか?なぜreq.sessionのデータが損なわれたのですか?私はそれがなぜ変わるのか理解できません。
これはexpress-sessionの設定です。ここに問題はありますか?その他の理由はありますか?
app.use(session({
store: new RedisStore({
host: 'localhost',
port: 6379,
client: redis,
resave: false
}),
secret: 'keyboard cat',
cookie: {
maxAge: 1000 * 60 * 60
},
resave : false,
saveUninitialized : true
}));
は、ああ、それは働きます!ありがとう!! –