Node.js SSL Cassandra Apache [英] Node.js SSL Cassandra Apache

查看:440
本文介绍了Node.js SSL Cassandra Apache的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在代码node.js中包含SSL加密有问题。我已配置数据库,但无法通过SSL连接到应用程序。所有的时间,我得到一个错误。也许有人有相同的或知道做什么,因为我厌倦了第四天。我给你需要的一切。



  client_encryption_options:enabled:true keystore:E:/apache-cassandra-2.1.4/conf/.keystore keystore_password:cassandra#require_client_auth:false#Set trustore和truststore_password如果require_client_auth是真的#信任:CONF / .truststore#truststore_password:下面卡桑德拉#更先进默认:#协议:TLS#算法:SunX509#store_type:JKS#cipher_suites:[TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA]  



https://github.com/PatrickCallaghan/datastax-ssl-example =nofollow noreferrer> https://github.com/PatrickCallaghan/datastax-ssl-example



  var cassandra = require('cassandra-driver'); var fs = require('fs'); var assert = require('assert')var sslOptions = {key:fs.readFileSync('server-key.pem'),cert:fs.readFileSync('server-cert.pem'),ca:[fs.readFileSync 'client-cert.pem')]}; var client = new cassandra.Client({contactPoints:['127.0.0.1'],authProvider:new cassandra.auth.PlainTextAuthProvider('cassandra','cassandra'),sslOptions: sslOptions}); client.connect(function(err){assert.ifError(err);}) 




请帮助



  [authentication] username = cassandrapassword = cassandra [connection] hostname = 127.0.0.1port = 9042factory = cqlshlib.ssl.ssl_transport_factory [ssl] certfile = E:/certs/localhost_user1.pemvalidate = true ##可选,默认为true  
解决方案

带有certyficates的新截图.cer和pem





  var cassandra = require('cassandra-driver'); var fs = require('fs'); var assert = require('assert'); var sslOptions = {key:fs.readFileSync('client-key.pem'),cert: fs.readFileSync('client-cert.pem'),ca:[fs.readFileSync('localhost.cer')]}; var client = new cassandra.Client({contactPoints:['127.0.0.1'],authProvider: new cassandra.auth.PlainTextAuthProvider('cassandra','cassandra'),sslOptions:sslOptions}); client.connect(function(err){assert.ifError(err);})client.on('log',function level,className,message,furtherInfo){console.log('log event:%s  - %s',level,message);});  

>



I have a problem with inclusion SSL encryption in the code node.js. I have configured the database but can not connect to the application via SSL. All the time I get an error. Maybe there is someone who has had the same or know what to do because I get tired of the fourth day. I give everything you need.

client_encryption_options:
    enabled: true
    keystore: E:/apache-cassandra-2.1.4/conf/.keystore
    keystore_password: cassandra
    # require_client_auth: false
    # Set trustore and truststore_password if require_client_auth is true
    # truststore: conf/.truststore
    # truststore_password: cassandra
    # More advanced defaults below:
    # protocol: TLS
    # algorithm: SunX509
    # store_type: JKS
    # cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA]

for generate cert's https://github.com/PatrickCallaghan/datastax-ssl-example

var cassandra = require('cassandra-driver');
var fs = require('fs');
var assert = require('assert')
var sslOptions = {
    key: fs.readFileSync('server-key.pem'),
    cert: fs.readFileSync('server-cert.pem'),
	ca: [ fs.readFileSync('client-cert.pem') ]
};
var client = new cassandra.Client({
	contactPoints : ['127.0.0.1'],
	authProvider : new cassandra.auth.PlainTextAuthProvider('cassandra', 'cassandra'),
	sslOptions : sslOptions
});

client.connect(function(err){
	assert.ifError(err);
})

please help

[authentication]
username = cassandra
password = cassandra

[connection]
hostname = 127.0.0.1
port = 9042
factory = cqlshlib.ssl.ssl_transport_factory

[ssl]
certfile = E:/certs/localhost_user1.pem
validate = true ## Optional, true by default.

解决方案

new screenshoots with certyficates .cer and pem

var cassandra = require('cassandra-driver');
var fs = require('fs');
var assert = require('assert');
var sslOptions = {
	key : fs.readFileSync('client-key.pem'),
	cert : fs.readFileSync('client-cert.pem'),
	ca : [fs.readFileSync('localhost.cer')]
};
var client = new cassandra.Client({
		contactPoints : ['127.0.0.1'],
		authProvider : new cassandra.auth.PlainTextAuthProvider('cassandra', 'cassandra'),
		sslOptions : sslOptions
	});

client.connect(function (err) {
	assert.ifError(err);
})
client.on('log', function (level, className, message, furtherInfo) {
	console.log('log event: %s -- %s', level, message);
});

这篇关于Node.js SSL Cassandra Apache的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆