Tag: 椭圆曲线

用于BitCore中的分层键的node.js电子钱包导入格式(WIF)

我试图从extendedprivatekey生成WIF,但我得到无效的WIF。 WIF应该如何看: https : //bitcoin.org/en/developer-guide#wallet-import-format-wif 我已经按照上面的指示链接,并得到这个代码: var crypto = require('crypto'); var bitcore = require('bitcore'); var HierarchicalKey = bitcore.HierarchicalKey; var Address = bitcore.Address; var networks = bitcore.networks; var coinUtil = bitcore.util; var knownBytes = coinUtil.sha256('testing'); var hkey = HierarchicalKey.seed(knownBytes,'testnet'); var key = new Buffer(hkey.derive('m/0\'/0/0').extendedPrivateKey); var hash = new Buffer ([0xef].concat(key).concat([1])); var hashses = doubleSHA256(hash); var checksum […]

无法使用nodejsencryption签名文件

我已经用nodejsencryption创build了一个私钥,并且想用这个密钥来签署一个文件。 我的代码如下: var ecdh = crypto.createECDH('brainpoolP512t1'); ecdh.generateKeys(); var key = ecdh.getPrivateKey('buffer'); var data= fs.readFileSync(req.file.path); var sign = crypto.createSign('sha512'); sign.update(data); var signature = sign.sign(key, 'hex'); 但是我得到的错误: Error: error:0906D06C:PEM routines:PEM_read_bio:no start line at Error (native) at Sign.sign (crypto.js:283:26) at /….js:32:27 at Immediate.<anonymous> (/…/node_modules/multer/lib/make-middleware.js:52:37) at runCallback (timers.js:578:20) at tryOnImmediate (timers.js:554:5) at processImmediate [as _immediateCallback] (timers.js:533:5) 我知道这与关键格式有关,但我不知道如何解决这个问题。 谁能帮忙? 更新:我编辑的私钥以适应pem格式: […]

使用椭圆曲线键创build服务器和客户机时使用节点JS TLS密码和密码选项(不共享密码套件错误)

关于这个问题 ,我试图在node.js中启动一个TLS服务器,以反映我在OpenSSL中创build的服务器。 我已经从命令行使用OpenSSLtesting了客户端和服务器,并成功build立连接。 当我尝试将服务器移植到node.js(并且仍然使用OpenSSL客户端连接到服务器)时,我收到一个“no shared cipher”错误。 我想知道是否有什么特别的我需要做tls.createServer()使用passphrase选项时, 以下是我分别为服务器和客户端成功使用的OpenSSL命令,请注意,passphrase.txt文件包含一行,即密码: $ openssl s_server -accept 8888 -cert server.cert -key server.key -pass file:passphrase.txt -CAfile ca.cert $ openssl s_client -connect 127.0.0.1:8888 -cert client.cert -key client.key -pass file:passphrase.txt -CAfile ca.cert 如果使用附加参数-cipher 'ECDHE-ECDSA-AES128-GCM-SHA256'指定客户端和/或服务器的密码,我也可以成功连接。 我正在使用openssl ecparam生成椭圆曲线键,并使用openssl ca创build的CA进行签名,正如我以前的问题所讨论的。 用node.js编写的服务器代码如下所示: var tls = require('tls'); var fs = require('fs'); var msg = '***********\n\nHello there secure client!\n\n***********'; […]

如何encryption私钥如OpenSSL?

当我用OpenSSL生成私有椭圆曲线时,使用以下命令: openssl ecparam -name secp521r1 -genkey -noout -out key.pem 我得到这样的东西: —–BEGIN EC PRIVATE KEY—– MIHbAgEBBEGpyKy6t0i6cEdxETKfsXNmFA4oWLQrM1LaPdfiyGs13+DckCjskukK NlbQYBb7gKIAAqj4vbmdCjTkoxnuXToqRKAHBgUrgQQAI6GBiQOBhgAEAHRbQ/Ow rR0fjiLdS+wHgpGX3kIk1IdJwr6m18k8nkta7d6YCho555Tbru+17zrtEMasd5UH YX8PRRtGaCD29aOzASUXOkwrmth4wLRsDQEe4qWAjATVvbw4LDP9Jz92OFXbEPwR P3uNunAQ2grnBjNCXN5yF49nyK1lSZxscxv+OCM/ —–END EC PRIVATE KEY—– 它与我使用NodeJS的Crypto模块encryption钥编码器生成的格式相同。 —–BEGIN EC PRIVATE KEY—– MIHcAgEBBEIBevCX7Zvo2G93UtPEl2ibpz71dXdjN/xMbwZBQwHukZJWwuKtJ8Sm dn21nDV5uEa7mgiBu0X5BVvsN/Wr+TzoAD2gBwYFK4EEACOhgYkDgYYABABaycjM EduL5R+bBY7T5WF+L314mfm2AZkKDs4EDkYWPupzbfE1qsQkjyPjh/JxMRU6nr9w xJ7X9jSA6wy0dHNqSQFP+5SHOuJu32Da21qBIKU9Xaoy0CloGfRjEQAbg5N1h4uw wKdMrY2a34dYn1eEe2YFzHKTFJPzOxyeKsDsFaafng== —–END EC PRIVATE KEY—– 现在,当我用AES256encryption这个命令 openssl ec -aes256 -in key.pem -out encrypted-key.pem 我明白了 —–BEGIN EC PRIVATE KEY—– Proc-Type: 4,ENCRYPTED DEK-Info: AES-256-CBC,96218C0F2D6F661750C994B319DD05FB pdk5WCaaLL8+YU27QjHMRgNkNwgPfgqL2ZNx/73pBDiSekfEKn39XrllE+j0lEA/ […]

节点中的椭圆曲线门限密码体制

我想在javascript中使用椭圆曲线密码学来实现类似于两人规则的东西。 编辑:我基本上在寻找比特币multisig的东西。 所以我需要结合两个公钥来得到一个组合密钥,它需要两个私钥生成一个签名。 请参阅https://crypto.stackexchange.com/questions/25250/adding-two-public-keys 。 我怎样才能做到这一点在节点?