提交 14fc4188 作者: Jeromy

address comments from PR

上级 46aa22e9
...@@ -2,7 +2,6 @@ package main ...@@ -2,7 +2,6 @@ package main
import ( import (
"bytes" "bytes"
"crypto/rand"
"encoding/base64" "encoding/base64"
"fmt" "fmt"
"os" "os"
...@@ -253,7 +252,7 @@ func identityConfig(nbits int) (config.Identity, error) { ...@@ -253,7 +252,7 @@ func identityConfig(nbits int) (config.Identity, error) {
} }
fmt.Printf("generating key pair...") fmt.Printf("generating key pair...")
sk, pk, err := ci.GenerateKeyPair(ci.RSA, nbits, rand.Reader) sk, pk, err := ci.GenerateKeyPair(ci.RSA, nbits)
if err != nil { if err != nil {
return ident, err return ident, err
} }
......
...@@ -115,7 +115,7 @@ func setupPeer(a args) (peer.ID, peer.Peerstore, error) { ...@@ -115,7 +115,7 @@ func setupPeer(a args) (peer.ID, peer.Peerstore, error) {
} }
out("generating key pair...") out("generating key pair...")
sk, pk, err := ci.GenerateKeyPair(ci.RSA, a.keybits, u.NewTimeSeededRand()) sk, pk, err := ci.GenerateKeyPair(ci.RSA, a.keybits)
if err != nil { if err != nil {
return "", nil, err return "", nil, err
} }
......
package core package core
import ( import (
"crypto/rand"
context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context" context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context"
ds "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-datastore" ds "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-datastore"
...@@ -30,7 +29,7 @@ func NewMockNode() (*IpfsNode, error) { ...@@ -30,7 +29,7 @@ func NewMockNode() (*IpfsNode, error) {
nd := new(IpfsNode) nd := new(IpfsNode)
// Generate Identity // Generate Identity
sk, pk, err := ci.GenerateKeyPair(ci.RSA, 1024, rand.Reader) sk, pk, err := ci.GenerateKeyPair(ci.RSA, 1024)
if err != nil { if err != nil {
return nil, err return nil, err
} }
......
...@@ -75,8 +75,12 @@ type PubKey interface { ...@@ -75,8 +75,12 @@ type PubKey interface {
// Given a public key, generates the shared key. // Given a public key, generates the shared key.
type GenSharedKey func([]byte) ([]byte, error) type GenSharedKey func([]byte) ([]byte, error)
func GenerateKeyPair(typ, bits int) (PrivKey, PubKey, error) {
return GenerateKeyPairWithReader(typ, bits, rand.Reader)
}
// Generates a keypair of the given type and bitsize // Generates a keypair of the given type and bitsize
func GenerateKeyPair(typ, bits int, src io.Reader) (PrivKey, PubKey, error) { func GenerateKeyPairWithReader(typ, bits int, src io.Reader) (PrivKey, PubKey, error) {
switch typ { switch typ {
case RSA: case RSA:
priv, err := rsa.GenerateKey(src, bits) priv, err := rsa.GenerateKey(src, bits)
......
package crypto package crypto_test
import ( import (
. "github.com/jbenet/go-ipfs/crypto"
"bytes" "bytes"
u "github.com/jbenet/go-ipfs/util" tu "github.com/jbenet/go-ipfs/util/testutil"
"testing" "testing"
) )
func TestRsaKeys(t *testing.T) { func TestRsaKeys(t *testing.T) {
sk, pk, err := GenerateKeyPair(RSA, 512, u.NewTimeSeededRand()) sk, pk, err := tu.RandKeyPair(512)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
...@@ -91,7 +93,7 @@ func testKeyEquals(t *testing.T, k Key) { ...@@ -91,7 +93,7 @@ func testKeyEquals(t *testing.T, k Key) {
t.Fatal("Key not equal to key with same bytes.") t.Fatal("Key not equal to key with same bytes.")
} }
sk, pk, err := GenerateKeyPair(RSA, 512, u.NewTimeSeededRand()) sk, pk, err := tu.RandKeyPair(512)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
......
...@@ -3,7 +3,6 @@ package namesys ...@@ -3,7 +3,6 @@ package namesys
import ( import (
"testing" "testing"
ci "github.com/jbenet/go-ipfs/crypto"
mockrouting "github.com/jbenet/go-ipfs/routing/mock" mockrouting "github.com/jbenet/go-ipfs/routing/mock"
u "github.com/jbenet/go-ipfs/util" u "github.com/jbenet/go-ipfs/util"
testutil "github.com/jbenet/go-ipfs/util/testutil" testutil "github.com/jbenet/go-ipfs/util/testutil"
...@@ -15,7 +14,7 @@ func TestRoutingResolve(t *testing.T) { ...@@ -15,7 +14,7 @@ func TestRoutingResolve(t *testing.T) {
resolver := NewRoutingResolver(d) resolver := NewRoutingResolver(d)
publisher := NewRoutingPublisher(d) publisher := NewRoutingPublisher(d)
privk, pubk, err := ci.GenerateKeyPair(ci.RSA, 512, u.NewTimeSeededRand()) privk, pubk, err := testutil.RandKeyPair(512)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
......
package peer package peer_test
import ( import (
"encoding/base64" "encoding/base64"
...@@ -7,7 +7,9 @@ import ( ...@@ -7,7 +7,9 @@ import (
"testing" "testing"
ic "github.com/jbenet/go-ipfs/crypto" ic "github.com/jbenet/go-ipfs/crypto"
. "github.com/jbenet/go-ipfs/peer"
u "github.com/jbenet/go-ipfs/util" u "github.com/jbenet/go-ipfs/util"
tu "github.com/jbenet/go-ipfs/util/testutil"
b58 "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-base58" b58 "github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-base58"
) )
...@@ -39,7 +41,7 @@ type keyset struct { ...@@ -39,7 +41,7 @@ type keyset struct {
func (ks *keyset) generate() error { func (ks *keyset) generate() error {
var err error var err error
ks.sk, ks.pk, err = ic.GenerateKeyPair(ic.RSA, 1024, u.NewTimeSeededRand()) ks.sk, ks.pk, err = tu.RandKeyPair(512)
if err != nil { if err != nil {
return err return err
} }
......
...@@ -17,11 +17,11 @@ import ( ...@@ -17,11 +17,11 @@ import (
) )
func RandKeyPair(bits int) (ci.PrivKey, ci.PubKey, error) { func RandKeyPair(bits int) (ci.PrivKey, ci.PubKey, error) {
return ci.GenerateKeyPair(ci.RSA, bits, crand.Reader) return ci.GenerateKeyPairWithReader(ci.RSA, bits, u.NewTimeSeededRand())
} }
func SeededKeyPair(bits int, seed int64) (ci.PrivKey, ci.PubKey, error) { func SeededKeyPair(bits int, seed int64) (ci.PrivKey, ci.PubKey, error) {
return ci.GenerateKeyPair(ci.RSA, bits, u.NewSeededRand(seed)) return ci.GenerateKeyPairWithReader(ci.RSA, bits, u.NewSeededRand(seed))
} }
// RandPeerID generates random "valid" peer IDs. it does not NEED to generate // RandPeerID generates random "valid" peer IDs. it does not NEED to generate
...@@ -124,7 +124,7 @@ func RandPeerNetParams() (*PeerNetParams, error) { ...@@ -124,7 +124,7 @@ func RandPeerNetParams() (*PeerNetParams, error) {
var p PeerNetParams var p PeerNetParams
var err error var err error
p.Addr = RandLocalTCPAddress() p.Addr = RandLocalTCPAddress()
p.PrivKey, p.PubKey, err = ci.GenerateKeyPair(ci.RSA, 512, u.NewTimeSeededRand()) p.PrivKey, p.PubKey, err = RandKeyPair(512)
if err != nil { if err != nil {
return nil, err return nil, err
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论