всем, у меня есть проект и я хочу создать XML интерфейс для системы безопасности. Системы безопасности являются хостом, и я разрабатываю клиента в node.js на первом этапе и позже для узла-красного.
Описание процесса: - Чтобы установить sh TLS-соединение, хост получает незашифрованный Команда STARTTLS.
Процедура (Установление соединения)
- Запуск TCP-соединения
- Установление TCP-соединения
- Клиент-хост (STARTTLS)
- Хост готов к приему клиента TLS
Когда я запускаю TCP-соединение с "net" и пытаюсь переадресовать соединение на "tls", порт источника изменяется и Хост означает, что часть TLS является новым клиентом. Например:
- соединение "net" = исходный порт TCP: 2483
- Соединение "tls" = исходный порт TCP: 2484
Большое спасибо заранее
var net = require('net');
var tls = require('tls');
var fs = require('fs');
var port = 5555;
var host = '192.168.2.126';
var conn = net.createConnection(port ,host);
var options = {
pfx: fs.readFileSync('client.pfx')
};
conn.on('connect', function() {
console.log('connected to server');
conn.write('STARTTLS');
connTLS()
});
function connTLS (){
conn = tls.connect(port, host, options, function() {
// Check if the authorization worked
if (conn.authorized) {
console.log("Connection authorized by a Certificate Authority.");
} else {
console.log("Connection not authorized: " + conn.authorizationError)
}
// Send a friendly message
conn.write('OK it works');
});
}
conn.on('data' , function (data){
var result = "";
for(var i = 0; i < data.length; ++i){
result+= (String.fromCharCode(data[i]));
}
console.log("Data received from the server: " , result);
});
conn.on('error', function(err) {
console.log('Error in connection:', err);
});
conn.on('close', function() {
console.log('connection got closed, will try to reconnect');
conn.end();
});
conn.on('end' , function(){
console.log('Requested an end to the TCP connection');
});