Como gerar um par de chaves pública e privada no ECDSA
No Stark Bank, usamos o ECDSA com a curva secp256k1 para criar e validar assinaturas digitais, a mesma curva utilizada por Bitcoin, Ethereum e outras criptomoedas.
Recomendamos qualquer um dos seguintes métodos para criar um par de chaves pública e privada no ECDSA.
Lembre-se: sua chave privada nunca deve ser compartilhada com ninguém, nem mesmo conosco!
Solução 1: Usando OpenSSL
No Mac (OSX) e na maioria das distribuições de Linux, o OpenSSL já vem instalado na máquina. Usuários de Windows precisam instalar o OpenSSL para utilizarem essa solução. Recomendamos a versão que vem junto com o Git para Windows.
Para criar seu par de chaves, abra o terminal (Git Bash no Windows) e insira os comandos abaixo:
openssl ecparam -name secp256k1 -genkey -out privateKey.pem
openssl ec -in privateKey.pem -pubout -out publicKey.pem
Solução 2: Usando nossos SDKs
Caso você use uma das linguagens de programação abaixo, basta instalar o nosso SDK e rodar os comandos abaixo para gerar o seu par de chaves:
Python
import starkbank
private_key, public_key = starkbank.key.create("sample/destination/path")
print(private_key)
print(public_key)
Javascript
const starkbank = require('starkbank')
let privateKey, publicKey
[privateKey, publicKey] = starkbank.key.create("sample/destination/path")
console.log(privateKey)
console.log(publicKey)
PHP
use StarkBankKey;
list($privateKey, $publicKey) = Key::create("sample/destination/path");
print_r($privateKey)
print_r($publicKey)
Java
import com.starkbank.*;
Key key = Key.create("sample/destination/path");
String privatePem = key.privatePem;
String publicPem = key.publicPem;
System.out.print(privatePem);
System.out.print(publicPem);
Ruby
require('starkbank')
private_key, public_key = StarkBank::Key.create("sample/destination/path")
puts private_key
puts public_key
Elixir
{private_key, public_key} = StarkBank.Key.create("sample/destination/path")
IO.puts(private_key)
IO.puts(public_key)
C#
(string privateKey, string publicKey) = StarkBank.Key.Create("sample/destination/path");
Console.WriteLine(privateKey);
Console.WriteLine(publicKey);
Go
package main
import (
"fmt"
"github.com/starkinfra/core-go/starkcore/key"
)
func main() {
privateKey, publicKey := key.Create("sample/destination/path")
fmt.Println(privateKey)
fmt.Println(publicKey)
}
Clojure
(ns my-lib.core
(:use starkbank.core))
(def key-pair (starkbank.key/create "/sample/destination/path"))
(println (:private-pem key-pair))
(println (:public-pem key-pair))
Curl
Solução 3: Usando o seu navegador
Caso você não tenha conseguido utilizar nenhum dos métodos anteriores, podemos usar nossa biblioteca de ECDSA Node para gerar localmente o par de chaves no seu navegador. Para gerar suas chaves, clique no botão abaixo: