Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Finish painting the bikeshed #24

Merged
merged 5 commits into from Dec 27, 2019
Merged

Finish painting the bikeshed #24

merged 5 commits into from Dec 27, 2019

Commits on Dec 26, 2019

  1. all: switch key format to Bech32

    Use the BIP173 format, which is whole-word selectable, markup safe, and
    case insensitive.
    
    AGE-SECRET-KEY-1FPSHVEFQXYSX5MMFDE6ZCGRTV4JHQGRFWSS8WETVDSSX76TVV4JQU272CR
    
    See https://groups.google.com/d/msg/age-dev/UAjkvLoCr9I/l4Q1h3OPAgAJ.
    
    All bech32 Go packages have funky APIs, internal types, or case
    handling, so include a heavily refactored version of the reference
    implementation, and the tests from github.com/btcsuite/btcutil/bech32.
    FiloSottile committed Dec 26, 2019
    Copy the full SHA
    42f8be5 View commit details
    Browse the repository at this point in the history
  2. internal/format: switch to 64 columns of standard Base64

    Now that we don't use Base64 in keys, let's just go back to the standard
    alphabet. Still in the spirit of reducing weirdness, use the PEM column
    count, so we can also reuse the lineWriter for the PEM armor.
    
    See https://groups.google.com/d/msg/age-dev/UAjkvLoCr9I/l4Q1h3OPAgAJ.
    FiloSottile committed Dec 26, 2019
    Copy the full SHA
    dcc5b9c View commit details
    Browse the repository at this point in the history
  3. internal/format: switch armor to PEM

    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
    FiloSottile committed Dec 26, 2019
    Copy the full SHA
    39c30ea View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    0669763 View commit details
    Browse the repository at this point in the history
  5. internal/age: add a label to the scrypt salt

    This way every recipient is labeled with the version.
    
    -----BEGIN AGE ENCRYPTED FILE-----
    YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNjcnlwdCBSbmw2ellyQ1VFK25rVkwx
    TkF0SklnIDE4CjlZL2RKb2FOcjFrM0MwSVZqS1BzMUFLeVF5Y1RaMEwvQlRLMWwv
    Q0xJbEEKLS0tIEJ1STZCbFh5Vjdsam5nSEFGTVZUY1BxcVVIek04ZUVrOGR4L3ph
    NkYzS28KucY25ejFefMDMtKvsAEofDQLsYF41NPrSPITpoxuVWMMZ1ldm+lDh09q
    RzCIZAhLN8jaqdeVdCEutqiniJ/9qv4=
    -----END AGE ENCRYPTED FILE-----
    
    Password: lies
    FiloSottile committed Dec 26, 2019
    Copy the full SHA
    e48f152 View commit details
    Browse the repository at this point in the history