mirror of
https://github.com/FiloSottile/age.git
synced 2026-01-08 13:01:09 +00:00
It's with a heavy heart that I admit using the ASCII header as part of the armor was clever, and you know what we think about being clever around here. Still, PEM is so lax, we target a subset without headers, and without garbage before and after the markers. -----BEGIN AGE ENCRYPTED FILE----- VGhpcyBpcyBhIGZpbGUgZW5jcnlwdGVkIHdpdGggYWdlLXRvb2wuY29tLCB2ZXJz aW9uIDEKLT4gWDI1NTE5IGozWWtNTWtaVGNDc0tKVGtMN29aam9NT2FUaGpBTVdU Y1k5ZHVNdWJhUlkKb0F5d2N4ZW1lSTM1SkZiWHIxcHRFWW0rMjNzK3RuOTg1OHpN L0ZkVzNCTQotLS0gQWZqdXFFaXNhbmYxbGpPRVZsSS9QM0wyM0RrTHRWWElsQnFu ejFmRW4zdwq1FMc+yjVJBDuBUZSPMi0nCAtELIObQOHHQlQnvhk6BCITceOD5DbN S7b6oumB8i/hEJvTtsOLgTBofzqzB90iAQ== -----END AGE ENCRYPTED FILE----- AGE-SECRET-KEY-1Y77J4M9R7GEKMZHR6YFDLDWV74VK2YQV4C7SR2H7SSVVJ05HQS4Q7NNMS3
46 lines
902 B
Go
46 lines
902 B
Go
// Copyright 2019 Google LLC
|
|
//
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file or at
|
|
// https://developers.google.com/open-source/licenses/bsd
|
|
|
|
package format_test
|
|
|
|
import (
|
|
"bytes"
|
|
"encoding/pem"
|
|
"io/ioutil"
|
|
"testing"
|
|
|
|
"filippo.io/age/internal/format"
|
|
)
|
|
|
|
func TestArmor(t *testing.T) {
|
|
buf := &bytes.Buffer{}
|
|
w := format.ArmoredWriter(buf)
|
|
plain := make([]byte, 611)
|
|
if _, err := w.Write(plain); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if err := w.Close(); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
block, _ := pem.Decode(buf.Bytes())
|
|
if block == nil {
|
|
t.Fatal("PEM decoding failed")
|
|
}
|
|
if !bytes.Equal(block.Bytes, plain) {
|
|
t.Error("PEM decoded value doesn't match")
|
|
}
|
|
|
|
r := format.ArmoredReader(buf)
|
|
out, err := ioutil.ReadAll(r)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if !bytes.Equal(out, plain) {
|
|
t.Error("decoded value doesn't match")
|
|
}
|
|
}
|