Golang github.com-agl-ed25519.GenerateKey类(方法)实例源码

下面列出了Golang github.com-agl-ed25519.GenerateKey 类(方法)源码代码实例,从而了解它的用法。

作者:carriercom    项目:repbi   
func TestSignProof(t *testing.T) {
	pubkeyRec, privKeyRec, _ := ed25519.GenerateKey(rand.Reader)
	pubkeySend, privkeySend, _ := ed25519.GenerateKey(rand.Reader)
	now := time.Now().UnixNano()
	proof := SignProofToken(now, pubkeyRec, pubkeySend, privkeySend)
	ok, nowDec, senderPub := VerifyProofToken(proof, pubkeyRec)
	if !ok {
		t.Error("Siganture did not verify")
	}
	if *senderPub != *pubkeySend {
		t.Error("Sender Pubkey decode failed")
	}
	if now != nowDec {
		t.Error("Time decode failed")
	}
	ok, signedProofToken := CounterSignToken(proof, pubkeyRec, privKeyRec)
	if !ok {
		t.Error("CounterSignToken did not verify")
	}
	ok, nowDec2 := VerifyCounterSig(signedProofToken, pubkeySend)
	if !ok {
		t.Error("VerifyCounterSig did not verify")
	}
	if now != nowDec2 {
		t.Error("Time decode failed")
	}
}

作者:jmptrade    项目:go-schanne   
func TestGenerateIDKeys(t *testing.T) {
	var err error
	clientPK, clientSK, err = ed25519.GenerateKey(rand.Reader)
	if err != nil {
		t.Fatalf("%v", err)
	}

	serverPK, serverSK, err = ed25519.GenerateKey(rand.Reader)
	if err != nil {
		t.Fatalf("%v", err)
	}
}

作者:gitter-badge    项目:alkasi   
func GenerateKeys(random io.Reader) (*[64]byte, *[32]byte) {
	pub, priv, err := ed25519.GenerateKey(random)
	if err != nil {
		lg.Fatal(err)
	}
	return priv, pub
}

作者:rako    项目:challengeaut   
func getSigningKey() (*[ed25519.PublicKeySize]byte, *[ed25519.PrivateKeySize]byte) {
	pub, priv, err := ed25519.GenerateKey(rand.Reader)
	if err != nil {
		log.Fatal(err)
	}
	return pub, priv
}

作者:read-late    项目:bazi   
func init() {
	var err error
	testKeyPub, testKeyPriv, err = ed25519.GenerateKey(rand.Reader)
	if err != nil {
		panic(err)
	}
}

作者:JonathanLoga    项目:mut   
func TestCheckToken(t *testing.T) {
	now := uint64(times.Now()) / SkewWindow
	pubkey, privkey, err := ed25519.GenerateKey(rand.Reader)
	if err != nil {
		t.Fatalf("Key generation failed: %s", err)
	}
	authtoken := CreateToken(pubkey, privkey, 1)
	pubkey2, ltime, lcounter, err := authtoken.CheckToken()
	if err != nil {
		t.Errorf("Token verification failed: %s", err)
	}
	if *pubkey2 != *pubkey {
		t.Errorf("Token decode failed, pubkey does not match: %x!=%x", *pubkey2, *pubkey)
	}
	if lcounter != 1 {
		t.Errorf("Token decode failed. Counter %d!=1", lcounter)
	}
	if uint64(math.Abs(float64(ltime-now))) > 1 {
		t.Errorf("Token decode failed. Time: %d!=%d", now, ltime)
	}
	authtoken[0] = 0x00
	_, _, _, err = authtoken.CheckToken()
	if err == nil {
		t.Error("Token verification MUST fail")
	}
}

作者:JonathanLoga    项目:mut   
func TestConv(t *testing.T) {
	pubkey, privkey, err := ed25519.GenerateKey(rand.Reader)
	if err != nil {
		t.Fatalf("Keygen failed: %s", err)
	}
	sm := make(StringMap)
	sm["alpha"] = "first"
	sm["beta"] = "second"
	sm["gamma"] = "third"
	sm["delta"] = "fourth"
	ss := sm.Sort()
	if ss[0].K != "alpha" || ss[0].V != "first" {
		t.Error("Bad first")
	}
	if ss[3].K != "gamma" || ss[3].V != "third" {
		t.Error("Bad last")
	}
	sig := ss.Sign(10, privkey)
	if !ss.Verify(10, pubkey[:], sig) {
		t.Error("Signature verify failed")
	}
	if ss.Verify(11, pubkey[:], sig) {
		t.Error("Signature verification MUST fail on bad date")
	}
	sig[3] = ^sig[3]
	if ss.Verify(10, pubkey[:], sig) {
		t.Error("Signature verification MUST fail on bad signature")
	}
}

作者:jackyy    项目:isrevers   
func main() {
	user = new(common.User)
	game = new(common.Game)
	var err error
	pubkey, privkey, err = ed25519.GenerateKey(rand.Reader)
	if err != nil {
		panic(err)
	}
	socket, err := utp.Dial("localhost:5428")
	if err != nil {
		panic(err)
	}
	if !handshake(socket) {
		panic("Handshake to server failed!")
	}
	rl, err = readline.NewEx(&readline.Config{
		Prompt: "> ",
		// HistoryFile: "./readline.history",
		InterruptPrompt: "Ctrl-C received, exiting ...",
		EOFPrompt:       "\n",
		AutoComplete:    completer,
	})
	stderr = rl.Stderr()
	go downstream()
	upstream()
}

作者:jmptrade    项目:go-schanne   
func main() {
	showHelp := flag.Bool("h", false, "display a short usage message and exit")
	flag.Parse()

	if *showHelp {
		usage()
		os.Exit(0)
	}

	if flag.NArg() == 0 {
		usage()
		os.Exit(1)
	}

	for _, baseName := range flag.Args() {
		pubFileName := fmt.Sprintf("%s.pub", baseName)
		privFileName := fmt.Sprintf("%s.key", baseName)

		pub, priv, err := ed25519.GenerateKey(rand.Reader)
		die.If(err)

		err = ioutil.WriteFile(pubFileName, pub[:], 0644)
		die.If(err)

		err = ioutil.WriteFile(privFileName, priv[:], 0600)
		die.If(err)
	}
}

作者:JonathanLoga    项目:mut   
// Ed25519Generate generates a new Ed25519 key pair.
func Ed25519Generate(rand io.Reader) (*Ed25519Key, error) {
	publicKey, privateKey, err := ed25519.GenerateKey(rand)
	if err != nil {
		return nil, err
	}
	return &Ed25519Key{publicKey, privateKey}, nil
}

作者:RoPe9    项目:repbi   
// New returns a MessageServer.
func New(driver, url, path string, pubKey, privKey []byte) (*MessageServer, error) {
	var err error
	ms := new(MessageServer)
	ms.DB = messagestore.New(driver, url, path, Workers)
	if err != nil {
		return nil, err
	}
	ms.path = path
	ms.PeerFile = path + "peers.config"
	ms.AddToPeer = DefaultAddToPeer
	ms.MaxTimeSkew = DefaultMaxTimeSkew
	ms.MinPostSize = MinPostSize
	ms.MaxPostSize = MaxPostSize
	ms.MinHashCashBits = MinHashCashBits
	ms.MaxSleep = DefaultMaxSleep
	ms.MaxIndexGlobal = DefaultIndexGlobal
	ms.MaxIndexKey = DefaultIndexKey
	ms.TimeGrace = DefaultTimeGrace
	ms.MaxAuthTokenAge = DefaultAuthTokenAge
	ms.NotifyDuration = DefaultNotifyDuration
	ms.FetchDuration = DefaultFetchDuration
	ms.FetchMax = DefaultFetchMax
	ms.ExpireDuration = DefaultExpireDuration
	ms.ExpireFSDuration = DefaultExpireFSDuration
	ms.StepLimit = DefaultStepLimit
	ms.ListenPort = DefaultListenPort
	ms.MinStoreTime = DefaultMinStoreTime
	ms.MaxStoreTime = DefaultMaxStoreTime
	ms.MaxAgeSigners = DefaultMaxAgeSigners
	ms.MaxAgeRecipients = DefaultMaxAgeRecipients
	messagestore.MaxAgeRecipients = DefaultMaxAgeRecipients
	messagestore.MaxAgeSigners = DefaultMaxAgeSigners
	ms.EnablePeerHandler = true

	ms.authPrivKey, err = message.GenLongTermKey(true, false)
	if err != nil {
		return nil, err
	}
	ms.AuthPubKey = message.GenPubKey(ms.authPrivKey)
	if pubKey != nil && privKey != nil {
		ms.TokenPubKey = new([ed25519.PublicKeySize]byte)
		ms.TokenPrivKey = new([ed25519.PrivateKeySize]byte)
		copy(ms.TokenPubKey[:], pubKey)
		copy(ms.TokenPrivKey[:], privKey)
	} else {
		ms.TokenPubKey, ms.TokenPrivKey, err = ed25519.GenerateKey(rand.Reader)
		log.Printf("Peer authentication public key: %s\n", utils.B58encode(ms.TokenPubKey[:]))
		log.Printf("Peer authentication private key: %s\n", utils.B58encode(ms.TokenPrivKey[:]))
		if err != nil {
			return nil, err
		}
	}
	ms.InfoStruct = new(ServerInfo)
	ms.InfoStruct.MinHashCashBits = ms.MinHashCashBits
	ms.InfoStruct.MinPostSize = ms.MinPostSize
	ms.InfoStruct.MaxPostSize = ms.MaxPostSize
	ms.InfoStruct.AuthPubKey = utils.B58encode(ms.AuthPubKey[:])
	return ms, nil
}

作者:pyll    项目:balloo   
// GenerateSigningKeyPair attempts to generate a signature key-pair.
func GenerateSigningKeyPair() (sk, vk []byte, err error) {
	pub, priv, err := ed25519.GenerateKey(rand.Reader)
	if err != nil {
		return nil, nil, errors.New("failed to generate secret signing key: " + err.Error())
	}

	return priv[:], pub[:], nil
}

作者:Varjelu    项目:keybase-clien   
// GenerateSigningKey generates a signing key and import it into the keyring.
func (k *Keyring) GenerateSigningKey() (*SigningSecretKey, error) {
	pub, sec, err := ed25519.GenerateKey(rand.Reader)
	if err != nil {
		return nil, err
	}
	ret := NewSigningSecretKey(pub, sec)
	return &ret, nil
}

作者:stella    项目:bridge-serve   
func (kp *Full) keys() (*[32]byte, *[64]byte) {
	reader := bytes.NewReader(kp.rawSeed())
	pub, priv, err := ed25519.GenerateKey(reader)
	if err != nil {
		panic(err)
	}
	return pub, priv
}

作者:mm    项目:Si   
// GenerateKeyPair creates a public-secret keypair that can be used to sign and
// verify messages.
func GenerateSignatureKeys() (sk SecretKey, pk PublicKey, err error) {
	pkPointer, skPointer, err := ed25519.GenerateKey(rand.Reader)
	if err != nil {
		return
	}
	sk = *skPointer
	pk = *pkPointer
	return
}

作者:hlanda    项目:degoutil   
func TestSPKI(t *testing.T) {
	pk, sk, err := ed25519.GenerateKey(rand.Reader)
	if err != nil {
		panic(err)
	}

	outs, err := sx.SXCanonical.String(spki.FormEd25519PrivateKey(sk))
	if err != nil {
		panic(err)
	}

	v, err := sx.SX.Parse([]byte(outs))
	if err != nil {
		panic(fmt.Sprintf("failed to parse: %v: %#v", err, outs))
	}

	var sk2 [64]byte
	isPrivate, err := spki.LoadEd25519Key(v, &sk2)
	if err != nil {
		panic(fmt.Sprintf("failed to load: %v: %#v", err, v))
	}

	if !isPrivate {
		panic("should be private")
	}

	if !bytes.Equal(sk[:], sk2[:]) {
		panic("should be equal")
	}

	// public key

	outs, err = sx.SXCanonical.String(spki.FormEd25519PublicKeyFromPrivateKey(sk))
	if err != nil {
		panic(err)
	}

	v, err = sx.SX.Parse([]byte(outs))
	if err != nil {
		panic(err)
	}

	var sk3 [64]byte
	isPrivate, err = spki.LoadEd25519Key(v, &sk3)
	if err != nil {
		panic(err)
	}

	if isPrivate {
		panic("should be public")
	}

	if !bytes.Equal(pk[:], sk3[32:]) {
		panic("should be equal")
	}
}

作者:jmptrade    项目:gocrypt   
// NewIdentity generates a new identity.
func NewIdentity() (*Identity, error) {
	var err error
	id := &Identity{}
	id.public, id.private, err = ed25519.GenerateKey(rand.Reader)
	if err != nil {
		return nil, err
	}

	return id, nil
}

作者:JonathanLoga    项目:mut   
func TestSplitKey(t *testing.T) {
	pubkey, privkey, _ := ed25519.GenerateKey(rand.Reader)
	pubkey2, privkey2 := splitKey(privkey)
	if *pubkey != *pubkey2 {
		t.Error("Split: Public key wrong")
	}
	if *privkey != *privkey2 {
		t.Error("Split: Private key wrong")
	}
}

作者:paul-pearc    项目:client-bet   
func makeNaclSigningKeyPair(reader io.Reader) (NaclSigningKeyPair, error) {
	pub, priv, err := ed25519.GenerateKey(reader)
	if err != nil {
		return NaclSigningKeyPair{}, err
	}
	return NaclSigningKeyPair{
		Public:  *pub,
		Private: (*NaclSigningKeyPrivate)(priv),
	}, nil
}

作者:aaronlehman    项目:notar   
func (trust *Ed25519) Create(role string) (*data.PublicKey, error) {
	pub, priv, err := ed25519.GenerateKey(rand.Reader)
	if err != nil {
		return nil, err
	}
	public := data.NewPublicKey("ed25519", pub[:])
	private := data.NewPrivateKey("ed25519", pub[:], priv[:])
	trust.addKey(private)
	return public, nil
}


问题


面经


文章

微信
公众号

扫码关注公众号