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

in-toto-run implementation #56

Merged

Commits on Jun 23, 2020

  1. use more specific names

    LoadPublicKey() and VerifySignature() were too generic.
    Let's rename them to be more precise in what they are achieving.
    shibumi committed Jun 23, 2020
    Configuration menu
    Copy the full SHA
    14a8de0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4969540 View commit details
    Browse the repository at this point in the history
  3. add LoadEd25519PublicKey func

    In this commit we add a LoadEd25519PublicKey func for loading
    ed25519 keys in PrivateJSON format from a ed25519 public key file
    shibumi committed Jun 23, 2020
    Configuration menu
    Copy the full SHA
    45a8e93 View commit details
    Browse the repository at this point in the history
  4. add ParseEd25519FromPublicJSON func

    The format of a public key is different
    to the private key JSON format for ed25519 in-toto pubkeys.
    Therefore we need another function for parsing ed25519 pub keys.
    shibumi committed Jun 23, 2020
    Configuration menu
    Copy the full SHA
    76f9f94 View commit details
    Browse the repository at this point in the history
  5. add additional error checks

    shibumi committed Jun 23, 2020
    Configuration menu
    Copy the full SHA
    c6cb9c0 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2020

  1. add LoadPrivateKey func for ed25519 and more tests

    This commit adds more test material such like symmetric encrypted private keys.
    shibumi committed Jun 26, 2020
    Configuration menu
    Copy the full SHA
    ae5e82d View commit details
    Browse the repository at this point in the history
  2. mention encrypted private keys in comments

    This commit also changes the example keys in the documentation.
    We use the keypair of "carol" (see test/data/carol{.pub}) now.
    shibumi committed Jun 26, 2020
    Configuration menu
    Copy the full SHA
    d868be7 View commit details
    Browse the repository at this point in the history
  3. implement Parse/Load RSA private key

    We use PKCS1 for parsing/loading RSA private keys.
    This means we do not support ECDSA yet.
    shibumi committed Jun 26, 2020
    Configuration menu
    Copy the full SHA
    f54d2e5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9b5413f View commit details
    Browse the repository at this point in the history
  5. add GenerateRSASignature

    This adds support for signing byte data with rsassa-pss.
    TODO: We need to verify if rsa.SignPSS(rand=nil,...) is secure!
    shibumi committed Jun 26, 2020
    Configuration menu
    Copy the full SHA
    66e49b8 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    fe86f29 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    c8ced5b View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2020

  1. add a first draft for signing links in InTotoRun

    We use the model.Sign() func for signing keys.
    This commit also removes unrelated code in TestMetablockSignWithEd25519
    because we **indeed** support RSA now.
    
    This adds support for signing links in InTotoRun via a
    specific key
    shibumi committed Jul 3, 2020
    Configuration menu
    Copy the full SHA
    8253556 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2020

  1. add new validatePrivateKey function + add key id to pub key

    In the past in-toto-keygen generated pubkeys did not have a public key ID in their JSON structure. This is going to change in the securesystemslib: secure-systems-lab/securesystemslib#250
    
    This commit adds the key ID to all our public key tests + and the carol.pub key.
    shibumi committed Jul 5, 2020
    Configuration menu
    Copy the full SHA
    ed01d7b View commit details
    Browse the repository at this point in the history
  2. add more test case + table tests to TestInTotoRun

    Table tests are easier to maintain, also we are testing
    invalid paths and invalid keys now.
    shibumi committed Jul 5, 2020
    Configuration menu
    Copy the full SHA
    17c679b View commit details
    Browse the repository at this point in the history
  3. add more model test cases

    We need to cover signing with invalid keys and validating
    private keys
    shibumi committed Jul 5, 2020
    Configuration menu
    Copy the full SHA
    7413391 View commit details
    Browse the repository at this point in the history
  4. make sure to sign the link data + tests

    In the past we always signed an empty Link{} artifact.
    Now we are really signing something + testing for a valid signature
    after signing real data.
    shibumi committed Jul 5, 2020
    Configuration menu
    Copy the full SHA
    d5b38f7 View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2020

  1. implement GenerateKeyId + remove keyId from pubkeys

    In this commit we remove the keyId from the ed25519 pubkeys again,
    because we decided to not support keyIds in key material.
    Instead we are generating a keyId if the keyId is empty.
    shibumi committed Jul 6, 2020
    Configuration menu
    Copy the full SHA
    17dc020 View commit details
    Browse the repository at this point in the history
  2. use generateKeyId in LoadRSA functions

    This commit integrates our new GenerateKeyId func into the LoadRSA* functions. More importantly it fixes a major security issue(!).
    Before this commit we have calculated the the keyID of the private key with the private key **included**. The private key should never be used for calculating the keyID.
    shibumi committed Jul 6, 2020
    Configuration menu
    Copy the full SHA
    07ef081 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2020

  1. Infer RSA Public Key from Private Key

    We need to infer the RSA Public Key from the RSA Private Key,
    otherwise we can't a calculate a unique keyID for a RSA Private Key.
    shibumi committed Jul 7, 2020
    Configuration menu
    Copy the full SHA
    5f46880 View commit details
    Browse the repository at this point in the history
  2. trim spaces and newlines around PEM block

    We need to make sure to trim spaces and newlines around the PEM blocks
    shibumi committed Jul 7, 2020
    Configuration menu
    Copy the full SHA
    7c1074a View commit details
    Browse the repository at this point in the history
  3. fix documentation

    mention that we follow the securesystemslib regarding key generation
    for keeping interoperability.
    shibumi committed Jul 7, 2020
    Configuration menu
    Copy the full SHA
    dd2bd38 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2020

  1. Add generic LoadKey function

    With a generic LoadKey function we have several advantages.
    First we can reduce our code surface, because we just need to
    take care about one function for loading keys. Second the LoadKey
    function will automatically infer the right pem and key type.
    This makes the function very easy to use.
    shibumi committed Jul 8, 2020
    Configuration menu
    Copy the full SHA
    2633831 View commit details
    Browse the repository at this point in the history
  2. change missing test cases

    Make sure to use the new generic LoadKey function for all our test cases
    shibumi committed Jul 8, 2020
    Configuration menu
    Copy the full SHA
    b8a5023 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2020

  1. enhance documentation + more readable pem parser section

    Make sure to always add a return value description +
    make the PEM parser section more readable.
    
    We could move this block into an own function in the future
    and maybe make a dispatch table out of it.
    shibumi committed Jul 9, 2020
    Configuration menu
    Copy the full SHA
    fa002a2 View commit details
    Browse the repository at this point in the history
  2. move parsing to ParseKey function + enhance error handling

    We are introducing two new error types "ErrFailedPEMParsing", "errNoPEMBlock"
    and "ErrUnsupportedKeyType". We also use error wrapping as stated in:
    https://blog.golang.org/go1.13-errors
    
    Furthermore the parsing has its own function now.
    shibumi committed Jul 9, 2020
    Configuration menu
    Copy the full SHA
    e924233 View commit details
    Browse the repository at this point in the history
  3. add more generic GenerateSignature function

    The generic GeneratureSignature function will automatically
    detect the right key, return an error if we have an invalid
    key and sign the signable data. Also it utilizes our new error types.
    
    TODO: implementing ed25519 signature. I am not sure yet, if we can store ed25519 PEM blocks in our in-memory key data. If yes, the part will be a little bit different to the current GenerateEd25519Signature function
    shibumi committed Jul 9, 2020
    Configuration menu
    Copy the full SHA
    1c2415e View commit details
    Browse the repository at this point in the history
  4. cleanup tests

    Use the new LoadKey function for loading keys, this is not yet implemented for ed25519 keys, because our test keys are still in custom JSON format. This will be changed
    shibumi committed Jul 9, 2020
    Configuration menu
    Copy the full SHA
    65a734f View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2020

  1. implement generic VerifySignature

    We now have a generic VerifySignature that automatically retrieves
    the key type based on the passed key. With this function we are now able to drop all tests that did RSA or ed25519 specific key operations
    shibumi committed Jul 13, 2020
    Configuration menu
    Copy the full SHA
    5ee4dca View commit details
    Browse the repository at this point in the history
  2. add valid ed25519 PEM key testdata

    This fixes a few ed25519 tests by adding valid ed25519 keys
    encoded as PEM (ASN.1 DER) Blocks.
    shibumi committed Jul 13, 2020
    Configuration menu
    Copy the full SHA
    7b2d7fa View commit details
    Browse the repository at this point in the history
  3. fix InTotoRun + fix test with new signature

    Our generic ParseKey function returns an interface on ed25519.PrivateKey *not* on *ed25519.PrivateKey, therefore we have to use the right one. I've also modified the test data, because we have generated a new ed25519 key. Therefore our ID and signature didn't match anymore
    shibumi committed Jul 13, 2020
    Configuration menu
    Copy the full SHA
    885c743 View commit details
    Browse the repository at this point in the history
  4. remove bob test data

    We have changed our on-disk key format. So the bob test data is no longer necessary
    shibumi committed Jul 13, 2020
    Configuration menu
    Copy the full SHA
    ec46fd0 View commit details
    Browse the repository at this point in the history
  5. store ed25519 keys as hex encoded strings

    For interoperability with the securesystemslib and the in-toto python
    implementation we are defining an exception for the ed25519 key
    and loading it hex encoded as string directly into memory.
    For this we need to read the ed25519 key from the PEM on-disk format
    and operate directly on the ed25519 key object
    shibumi committed Jul 13, 2020
    Configuration menu
    Copy the full SHA
    81f0894 View commit details
    Browse the repository at this point in the history

Commits on Jul 21, 2020

  1. Add comment for dropping rest of PEM block parsing

    We need to mention, that we drop the rest of the pam.Decode()
    call, because it does not represent a valid PEM block.
    Additionally we do not care about other data, than the actual key
    shibumi committed Jul 21, 2020
    Configuration menu
    Copy the full SHA
    cc2a58e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c31d709 View commit details
    Browse the repository at this point in the history
  3. remove outdated test

    The TestMetaBlockSignWithEd25519 used our custom JSON format
    and different loading functions, that do not exist anymore.
    Therefore we can remove it.
    shibumi committed Jul 21, 2020
    Configuration menu
    Copy the full SHA
    1ac76f0 View commit details
    Browse the repository at this point in the history
  4. remove outdated keylib test cases

    We dropped support for the non generic key parsing functions.
    shibumi committed Jul 21, 2020
    Configuration menu
    Copy the full SHA
    a2825c5 View commit details
    Browse the repository at this point in the history
  5. Add new test data + description

    This commit adds new PKCS8 and EC private/public key pairs for testing. Furthermore it adds a new README.md file in test/data
    that lists all of our test artifacts + a description for them
    shibumi committed Jul 21, 2020
    Configuration menu
    Copy the full SHA
    0a28c13 View commit details
    Browse the repository at this point in the history
  6. Add tests for new generic functions

    Our new generic functions needed testing. This adds testing
    for all generic functions, especially ed25519 and ecdsa unsupported key checking.
    
    TODO: In the future we want to support ecdsa keys
    shibumi committed Jul 21, 2020
    Configuration menu
    Copy the full SHA
    0acd97f View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2020

  1. add more tests

    This adds more test coverage for the Generate/Verify functions
    shibumi committed Jul 22, 2020
    Configuration menu
    Copy the full SHA
    e601861 View commit details
    Browse the repository at this point in the history
  2. fix spelling

    Fix spelling for ErrNoPEMBlock
    shibumi committed Jul 22, 2020
    Configuration menu
    Copy the full SHA
    4379ac5 View commit details
    Browse the repository at this point in the history
  3. fix windows path error

    We just remove the slashes and make this test windows compatible.
    Full paths should be covered. For the future we should use
    path() for paths, for being consistent through different OS.
    shibumi committed Jul 22, 2020
    Configuration menu
    Copy the full SHA
    ad07bd6 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2020

  1. Configuration menu
    Copy the full SHA
    d71ce00 View commit details
    Browse the repository at this point in the history
  2. add test for dumping and loading a signed metablock

    This adds a small test section for dumping and loading signed links.
    It will dump a link to a file and load it. Looks like we have an
    issue with our dump function, because the dumped file wrong.
    shibumi committed Jul 23, 2020
    Configuration menu
    Copy the full SHA
    01da883 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2020

  1. try to fix unmarshalling type errors

    This commit adds a new Byproducts struct as representation
    for our byproducts. This is necessary, because Go
    unmarshalls number interfaces values to float.
    shibumi committed Jul 24, 2020
    Configuration menu
    Copy the full SHA
    e43522d View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2020

  1. Revert "try to fix unmarshalling type errors"

    This reverts commit e43522d.
    shibumi committed Jul 25, 2020
    Configuration menu
    Copy the full SHA
    adfdd99 View commit details
    Browse the repository at this point in the history
  2. Fix inconsistent link dumping/loading

    Before this commit we used []byte64 and int in our in-memory
    link representation. This lead to numerous issues:
    
    1. Using []byte64 for stderr/stdout meant, that we dump them as base64
    in our JSON file. This was inconsistent to our in-toto python
    implementation, that stores output as strings in JSON files.
    
    2. Go unmarshalls a number as float64, therefore we can't easily
    store the return-value as integer, although an integer would be a better
    choice. Storing it as a integer, would cost rewrites of the complete
    model and model testing.
    shibumi committed Jul 25, 2020
    Configuration menu
    Copy the full SHA
    455f141 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2020

  1. add doc strings

    This commit adds more documentation to our test functions and keylib functions
    shibumi committed Jul 27, 2020
    Configuration menu
    Copy the full SHA
    a4a40ae View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2020

  1. add ecdsa support

    This commit adds support for the ecdsa key scheme.
    We should support all FIPS 186-3 curves out of the box.
    However, we must note, that if we ever upgrade our hashing
    algorithm from SHA256, the code will get more complex, because
    the hash size must satisfy the curve size, otherwise the
    hash may get truncated. The latter could result in a security vulnerability (forming a hash, which truncated part is equal to the truncated part of the to verified bytes). Furthermore,
    we do no curve detection here and just save the signature parts r and s into a byte slice without a fixed length. Also it's still unclear if r and s are always the same of the size
    shibumi committed Jul 28, 2020
    Configuration menu
    Copy the full SHA
    84c9874 View commit details
    Browse the repository at this point in the history
  2. Remove unnecessary byte transformations

    We can directly cast key.KeyVal.(Public|Private) to a byte slice.
    No need, for the string reader.
    shibumi committed Jul 28, 2020
    Configuration menu
    Copy the full SHA
    1b7c8f5 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2020

  1. add missing case for ecdsa public key

    This adds a missing case for ecdsa public key.
    The RSA and ecdsa key cases can be merged, maybe.
    shibumi committed Jul 29, 2020
    Configuration menu
    Copy the full SHA
    5b8743d View commit details
    Browse the repository at this point in the history
  2. Fix ecdsa Signature

    Before this commit we used two times r instead of r and s.
    Of course ecdsa validation failed, because of this.
    shibumi committed Jul 29, 2020
    Configuration menu
    Copy the full SHA
    a275a25 View commit details
    Browse the repository at this point in the history
  3. Complete Rewrite of keylib_test.go

    This commit rewrites the keylib tests completely from scratch.
    I have replaced all tests against table based testing methods
    The LOC shrinked from over 500 to under 100.
    shibumi committed Jul 29, 2020
    Configuration menu
    Copy the full SHA
    4910972 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2020

  1. implement proper ecdsa signature encoding

    We now use ASN1.DER for encoding the ecdsa signature parameters
    r and s. This fixes our problems with different r and s lengths.
    Furthermore it is the same way to deal with the signature
    as in our securesystemslib and it is therefore the interoperable
    way to handle an ecdsa signature. With Go 1.15 we might can switch
    to new ecdsa ASN1Sign methods, if necessary.
    shibumi committed Jul 30, 2020
    Configuration menu
    Copy the full SHA
    79383c9 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2020

  1. increase test coverage

    this commit adds various new test cases for increasing the test
    coverage. Sadly, we still need to use the legacy error string
    comparing for a few. Maybe we can wrap them in an our own errors in the future?
    shibumi committed Jul 31, 2020
    Configuration menu
    Copy the full SHA
    af0cf4c View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2020

  1. add ecdsa support for Metablock.Sign()

    Adds the "ecdsa" case to our Metablock.Sign function.
    Also adds a test case for an invalid ed25519 key.
    shibumi committed Aug 2, 2020
    Configuration menu
    Copy the full SHA
    bd1a6b6 View commit details
    Browse the repository at this point in the history
  2. Add new errors to model

    Our old key validation functions were not valid anymore. For example, we do compute the public key from a private key now. So every key object should have a public key. Furthermore this commit introduces our own error types for better error handling.
    shibumi committed Aug 2, 2020
    Configuration menu
    Copy the full SHA
    2d7b3d2 View commit details
    Browse the repository at this point in the history
  3. cover new key object validation + more key lib tests

    This commit adds more tests for key object validation,
    also we *really* use the key object validation functions now, during
    generating a keyID
    shibumi committed Aug 2, 2020
    Configuration menu
    Copy the full SHA
    3a3d274 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2020

  1. remove frank.ec

    frank.ec was only necessary for generating the ECDSA PEM keys.
    Therefore we can delete it.
    shibumi committed Aug 6, 2020
    Configuration menu
    Copy the full SHA
    089dd4c View commit details
    Browse the repository at this point in the history
  2. remove switch block in Metablock.Sign

    The switch block logic moved inside of the GenerateSignature function, thus we can drop this extra switch block inside of Metablock.Sign. This fixes also the long-time FIXME in it :)
    shibumi committed Aug 6, 2020
    Configuration menu
    Copy the full SHA
    e22b3cd View commit details
    Browse the repository at this point in the history
  3. remove carol-invalid

    The carol-invalid key is not necessary anymore, thus we can remove it.
    shibumi committed Aug 6, 2020
    Configuration menu
    Copy the full SHA
    2db25b7 View commit details
    Browse the repository at this point in the history
  4. add more documentation

    Here we fix a small spelling issue and add more documentation
    for a few functions, that were missing documentation
    shibumi committed Aug 6, 2020
    Configuration menu
    Copy the full SHA
    f4ee8ae View commit details
    Browse the repository at this point in the history
  5. use Go 1.13's IsZero() for checking for an uninitialized Key

    The keyID may be empty, so we check for an unitialized Key object instead. For this we prefer using reflect.ValueOf(key).IsZero()
    over reflect.DeepEqual(), because DeepEqual is more resource intensive.
    shibumi committed Aug 6, 2020
    Configuration menu
    Copy the full SHA
    f9e328a View commit details
    Browse the repository at this point in the history
  6. Use Go 1.13 Error handling

    We can drop the legacy error string comparing via using
    Go 1.13 errors.Is() function for comparing the unwrapped errors.
    shibumi committed Aug 6, 2020
    Configuration menu
    Copy the full SHA
    2a7e225 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2020

  1. enhance documentation

    In this commit we fix various spelling errors,
    deliver more detailed documentation and change the default error
    message of ErrInvalidKeyType.
    shibumi committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    5bce89f View commit details
    Browse the repository at this point in the history
  2. use constant strings for keytypes

    This commit introduces three new constants called:
    rsaKeytype, ecdsaKeytype and ed25519KeyType. With these constants
    we are able to easily change the keytype if necessary, without finding/replacing strings.
    shibumi committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    16a79ec View commit details
    Browse the repository at this point in the history
  3. implement scheme and keytype checking

    This bigger commit introduces new errors for key and scheme type
    checking. We also have another helper function in utils.go for
    checking for subsets in a superset of string slices.
    Furthermore it adds various tests for the new functions
    shibumi committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    b3da496 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c426bcb View commit details
    Browse the repository at this point in the history
  5. implement a decodeAndParse function to minimize copy-paste code

    The decodeAndParse function decodes the given pemBytes and parses a key.
    shibumi committed Aug 7, 2020
    Configuration menu
    Copy the full SHA
    6cb021a View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2020

  1. call validateKey before signing signable data and validating signatures

    This commit adds a call to validateKey to the GenerateSignature
    and ValidateSignature functions. This way we can ensure, that we are always dealing with a good key. This commit also provides modified tests and more test cases
    shibumi committed Aug 8, 2020
    Configuration menu
    Copy the full SHA
    86d191d View commit details
    Browse the repository at this point in the history

Commits on Aug 12, 2020

  1. use type assertion in GenerateSignature/ValidateSignature

    This commit untangles validateKey and validateKeyVal.
    We do not parse keys twice in GenerateSignature/ValidateSignature now. Instead we call validateKey for validating the key container and then using type assertions for checking for the right key type.
    shibumi committed Aug 12, 2020
    Configuration menu
    Copy the full SHA
    52fe163 View commit details
    Browse the repository at this point in the history
  2. introduce constants for the schemes

    We now use constants for the supported Key schemes.
    shibumi committed Aug 12, 2020
    Configuration menu
    Copy the full SHA
    4ce8e4c View commit details
    Browse the repository at this point in the history
  3. use panic for the default switch cases

    We can call a panic if we run into code, where we never should get.
    shibumi committed Aug 12, 2020
    Configuration menu
    Copy the full SHA
    49ee808 View commit details
    Browse the repository at this point in the history
  4. add Scheme checking in Sign + Verify

    This commit adds a key.Scheme switch in the GeneratureSignature and
    VerifySignature functions. This only applies to ecdsa and rsa,
    because ed25519 is SHA512 only, due to following the edDSA spec.
    shibumi committed Aug 12, 2020
    Configuration menu
    Copy the full SHA
    e338568 View commit details
    Browse the repository at this point in the history
  5. unexport all functions in Keylib except Load,Sign,Verify

    We should hide most of the functions in keylib.go. Devs using our
    API should only use our exported functions LoadKey, GenerateSignature
    and VerifySignature.
    shibumi committed Aug 12, 2020
    Configuration menu
    Copy the full SHA
    3c4832c View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2020

  1. set correct ecdsa scheme

    We set the correct ecdsa schemes as constants. Right now we don't
    really differ between curves, because Go's crypto/(ecdsa|x509)
    are fully transparent with curves. If we want to differ between
    curves we might need to add addition logic, right now it's up
    to the developer, to choose the right scheme for the right curve.
    shibumi committed Aug 13, 2020
    Configuration menu
    Copy the full SHA
    3dddc66 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2020

  1. call panic for never reached default cases

    We have a few default cases, that were never reached due to
    validateKey() at the beginning of the function.
    Let's call a panic, if we run into such a situation.
    shibumi committed Aug 14, 2020
    Configuration menu
    Copy the full SHA
    075e168 View commit details
    Browse the repository at this point in the history
  2. Fix various strings and documentation

    This commit addresses various spelling issues, substantial mistakes
    or adds more documentation.
    shibumi committed Aug 14, 2020
    Configuration menu
    Copy the full SHA
    236acb8 View commit details
    Browse the repository at this point in the history
  3. add todo for subsetCheck function

    This adds a short comment/todo to our subsetCheck function.
    In the future we might want to use Sets for our constant getters.
    shibumi committed Aug 14, 2020
    Configuration menu
    Copy the full SHA
    111dd2f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5d51843 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2020

  1. remove misleading support for ecdsa-sha2-nistp384

    This commits removes the misleading support for ecdsa-sha2-nistp384.
    shibumi committed Aug 15, 2020
    Configuration menu
    Copy the full SHA
    d1bf3c1 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2020

  1. implement validatePublicKey + tests

    with this commit implements the validatePublicKey function, for
    checking if we deal with a public key. If the private key value field
    is not empty, it will fail with the error ErrNoPublicKey.
    We also call this method in validateLayout from now on.
    shibumi committed Aug 16, 2020
    Configuration menu
    Copy the full SHA
    64b5325 View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2020

  1. keyIdHashAlgorithms is now optional + fix tests

    In this commit, we make Key.KeyIdHashAlgorithms optional.
    We only check the field now, if the field has been initialized.
    Furthermore this commit fixes a few tests and removes tests, that are
    not needed anymore.
    shibumi committed Aug 17, 2020
    Configuration menu
    Copy the full SHA
    fa94594 View commit details
    Browse the repository at this point in the history
  2. add comment about ecdsa interoperability

    in-toto-golang behaves a little bit different to the securesystemslib.
    We should mention, that we use ecdsa/ecdsa-sha2-nistp256 pairs
    instead of ecdsa-sha2-nistp256 for key type and key scheme.
    shibumi committed Aug 17, 2020
    Configuration menu
    Copy the full SHA
    1ac47be View commit details
    Browse the repository at this point in the history
  3. fix deadbeef test

    This adds the missing 'd' to the deadbeef test. We now check for a missing
    keyfield there.
    shibumi committed Aug 17, 2020
    Configuration menu
    Copy the full SHA
    c25b937 View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2020

  1. Remove done items from README todo

    in-toto-golang now supports all signing methods from the reference
    implementation and has a fully-fledged runlib, to generate signed
    link metadata.
    
    Big kudos to @shibumi!
    
    Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
    lukpueh committed Aug 20, 2020
    Configuration menu
    Copy the full SHA
    70fdec2 View commit details
    Browse the repository at this point in the history