(t *testing.T)
| 31 | ) |
| 32 | |
| 33 | func TestKeyLoad_new(t *testing.T) { |
| 34 | m := Modifier{} |
| 35 | m.log = testutils.Logger(t, m.Name()) |
| 36 | |
| 37 | dir := t.TempDir() |
| 38 | |
| 39 | signer, newKey, err := m.loadOrGenerateKey(filepath.Join(dir, "testkey.key"), "ed25519") |
| 40 | if err != nil { |
| 41 | t.Fatal(err) |
| 42 | } |
| 43 | if !newKey { |
| 44 | t.Fatal("newKey=false") |
| 45 | } |
| 46 | |
| 47 | recordBlob, err := os.ReadFile(filepath.Join(dir, "testkey.dns")) |
| 48 | if err != nil { |
| 49 | t.Fatal(err) |
| 50 | } |
| 51 | var keyBlob []byte |
| 52 | for _, part := range strings.Split(string(recordBlob), ";") { |
| 53 | part = strings.TrimSpace(part) |
| 54 | if strings.HasPrefix(part, "k=") { |
| 55 | if part != "k=ed25519" { |
| 56 | t.Fatalf("Wrong type of generated key, want ed25519, got %s", part) |
| 57 | } |
| 58 | } |
| 59 | if strings.HasPrefix(part, "p=") { |
| 60 | keyBlob, err = base64.StdEncoding.DecodeString(part[2:]) |
| 61 | if err != nil { |
| 62 | t.Fatal(err) |
| 63 | } |
| 64 | } |
| 65 | } |
| 66 | |
| 67 | blob := signer.Public().(ed25519.PublicKey) |
| 68 | if string(blob) != string(keyBlob) { |
| 69 | t.Fatal("wrong public key placed into record file") |
| 70 | } |
| 71 | } |
| 72 | |
| 73 | const pkeyEd25519 = `-----BEGIN PRIVATE KEY----- |
| 74 | MC4CAQAwBQYDK2VwBCIEIJG9zs4vi2MYNkL9gUQwlmBLCzDODIJ5/1CwTAZFDm5U |
nothing calls this directly
no test coverage detected