github.com/linapex/ethereum-dpos-chinese@v0.0.0-20190316121959-b78b3a4a1ece/whisper/whisperv6/envelope_test.go (about) 1 2 //<developer> 3 // <name>linapex 曹一峰</name> 4 // <email>linapex@163.com</email> 5 // <wx>superexc</wx> 6 // <qqgroup>128148617</qqgroup> 7 // <url>https://jsq.ink</url> 8 // <role>pku engineer</role> 9 // <date>2019-03-16 12:09:51</date> 10 //</624342690338705408> 11 12 // 13 // 14 // 15 // 16 // 17 // 18 // 19 // 20 // 21 // 22 // 23 // 24 // 25 // 26 // 27 28 // 29 30 package whisperv6 31 32 import ( 33 mrand "math/rand" 34 "testing" 35 36 "github.com/ethereum/go-ethereum/crypto" 37 ) 38 39 func TestEnvelopeOpenAcceptsOnlyOneKeyTypeInFilter(t *testing.T) { 40 symKey := make([]byte, aesKeyLength) 41 mrand.Read(symKey) 42 43 asymKey, err := crypto.GenerateKey() 44 if err != nil { 45 t.Fatalf("failed GenerateKey with seed %d: %s.", seed, err) 46 } 47 48 params := MessageParams{ 49 PoW: 0.01, 50 WorkTime: 1, 51 TTL: uint32(mrand.Intn(1024)), 52 Payload: make([]byte, 50), 53 KeySym: symKey, 54 Dst: nil, 55 } 56 57 mrand.Read(params.Payload) 58 59 msg, err := NewSentMessage(¶ms) 60 if err != nil { 61 t.Fatalf("failed to create new message with seed %d: %s.", seed, err) 62 } 63 64 e, err := msg.Wrap(¶ms) 65 if err != nil { 66 t.Fatalf("Failed to Wrap the message in an envelope with seed %d: %s", seed, err) 67 } 68 69 f := Filter{KeySym: symKey, KeyAsym: asymKey} 70 71 decrypted := e.Open(&f) 72 if decrypted != nil { 73 t.Fatalf("Managed to decrypt a message with an invalid filter, seed %d", seed) 74 } 75 } 76