testFixtures

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Add support for key fingerprints

In order to provide maximum security, it's now possible to use full key

fingerprints, in addition to long (64-bit) key ids, in trusted or ignored

keys.

It doesn't matter what format is used: if a trusted key uses a long id,

then it's possible that if there's a key collision, an artifact would be

trusted even if it shouldn't. If a fingerprint is used instead, then we

would use the full fingerprint for verification.

It's worth nothing that PGP doesn't provide the full fingerprint in signatures

for the key issuer. This means that when we're going to download keys, we

will still use the long ids.

Fixes #11770

  1. … 18 more files in changeset.
Add support for key fingerprints

In order to provide maximum security, it's now possible to use full key

fingerprints, in addition to long (64-bit) key ids, in trusted or ignored

keys.

It doesn't matter what format is used: if a trusted key uses a long id,

then it's possible that if there's a key collision, an artifact would be

trusted even if it shouldn't. If a fingerprint is used instead, then we

would use the full fingerprint for verification.

It's worth nothing that PGP doesn't provide the full fingerprint in signatures

for the key issuer. This means that when we're going to download keys, we

will still use the long ids.

Fixes #11770

  1. … 18 more files in changeset.
Add local keyring file

Fetching remote keys can be quite expensive. In order to avoid lookups,

this commits introduces the ability to use a local keyrings file, found

alongside the verification metadata.

This file can either be generated using regular tools like GPG, or via

command-line by adding the `--export-keys` flag when generating the

verification metadata.

  1. … 19 more files in changeset.
Add local keyring file

Fetching remote keys can be quite expensive. In order to avoid lookups,

this commits introduces the ability to use a local keyrings file, found

alongside the verification metadata.

This file can either be generated using regular tools like GPG, or via

command-line by adding the `--export-keys` flag when generating the

verification metadata.

  1. … 19 more files in changeset.
Add local keyring file

Fetching remote keys can be quite expensive. In order to avoid lookups,

this commits introduces the ability to use a local keyrings file, found

alongside the verification metadata.

This file can either be generated using regular tools like GPG, or via

command-line by adding the `--export-keys` flag when generating the

verification metadata.

  1. … 19 more files in changeset.
Add local keyring file

Fetching remote keys can be quite expensive. In order to avoid lookups,

this commits introduces the ability to use a local keyrings file, found

alongside the verification metadata.

This file can either be generated using regular tools like GPG, or via

command-line by adding the `--export-keys` flag when generating the

verification metadata.

  1. … 19 more files in changeset.
Add local keyring file

Fetching remote keys can be quite expensive. In order to avoid lookups,

this commits introduces the ability to use a local keyrings file, found

alongside the verification metadata.

This file can either be generated using regular tools like GPG, or via

command-line by adding the `--export-keys` flag when generating the

verification metadata.

  1. … 19 more files in changeset.
Add local keyring file

Fetching remote keys can be quite expensive. In order to avoid lookups,

this commits introduces the ability to use a local keyrings file, found

alongside the verification metadata.

This file can either be generated using regular tools like GPG, or via

command-line by adding the `--export-keys` flag when generating the

verification metadata.

  1. … 19 more files in changeset.
Fix unclosed resources

Fix unclosed resources

The Armored(Input|Output)Stream classes do _not_ close the underlying

stream.

  1. … 2 more files in changeset.
Fix unclosed resources

The Armored(Input|Output)Stream classes do _not_ close the underlying

stream.

  1. … 2 more files in changeset.
Fix unclosed resources

The Armored(Input|Output)Stream classes do _not_ close the underlying

stream.

  1. … 2 more files in changeset.
Fix unclosed resources

The Armored(Input|Output)Stream classes do _not_ close the underlying

stream.

  1. … 2 more files in changeset.
Initial implementation of verification of signatures

This commit introduces _signature_ verification. Signature verification

is stronger than checksum verification and must be enabled explicitly,

by adding `<signature-verification>true</signature-verification>` to the

dependency verification configuration file.

Once such verification is enabled, Gradle will do its best to verify

the signature of artifacts. This means:

- it will try to download the .asc file associated with an artifact

- if it's present, it will automatically download the public keys

of the signature and verify that the file matches the signatures

- if _any_ of the signature verification fails, fails the build

- if a public key is not trusted explicitly, fails the build

- if signature verification succeeds, no checksum verification is

performed

Currently it's not possible to perform checksum verification for some

modules and signature verification for others. All modules must declare

all trusted keys.

If a key cannot be downloaded, verification will fail. It's not possible

to ignore a key for now. It's not possible to fallback to checksum

verification.

  1. … 61 more files in changeset.
Initial implementation of verification of signatures

This commit introduces _signature_ verification. Signature verification

is stronger than checksum verification and must be enabled explicitly,

by adding `<signature-verification>true</signature-verification>` to the

dependency verification configuration file.

Once such verification is enabled, Gradle will do its best to verify

the signature of artifacts. This means:

- it will try to download the .asc file associated with an artifact

- if it's present, it will automatically download the public keys

of the signature and verify that the file matches the signatures

- if _any_ of the signature verification fails, fails the build

- if a public key is not trusted explicitly, fails the build

- if signature verification succeeds, no checksum verification is

performed

Currently it's not possible to perform checksum verification for some

modules and signature verification for others. All modules must declare

all trusted keys.

If a key cannot be downloaded, verification will fail. It's not possible

to ignore a key for now. It's not possible to fallback to checksum

verification.

  1. … 60 more files in changeset.
Initial implementation of verification of signatures

This commit introduces _signature_ verification. Signature verification

is stronger than checksum verification and must be enabled explicitly,

by adding `<signature-verification>true</signature-verification>` to the

dependency verification configuration file.

Once such verification is enabled, Gradle will do its best to verify

the signature of artifacts. This means:

- it will try to download the .asc file associated with an artifact

- if it's present, it will automatically download the public keys

of the signature and verify that the file matches the signatures

- if _any_ of the signature verification fails, fails the build

- if a public key is not trusted explicitly, fails the build

- if signature verification succeeds, no checksum verification is

performed

Currently it's not possible to perform checksum verification for some

modules and signature verification for others. All modules must declare

all trusted keys.

If a key cannot be downloaded, verification will fail. It's not possible

to ignore a key for now. It's not possible to fallback to checksum

verification.

    • -0
    • +68
    ./groovy/org/gradle/security/fixtures/KeyServer.groovy
    • -0
    • +206
    ./groovy/org/gradle/security/fixtures/SigningFixtures.groovy
    • -0
    • +84
    ./groovy/org/gradle/security/fixtures/SimpleKeyRing.groovy
  1. … 59 more files in changeset.
Initial implementation of verification of signatures

This commit introduces _signature_ verification. Signature verification

is stronger than checksum verification and must be enabled explicitly,

by adding `<signature-verification>true</signature-verification>` to the

dependency verification configuration file.

Once such verification is enabled, Gradle will do its best to verify

the signature of artifacts. This means:

- it will try to download the .asc file associated with an artifact

- if it's present, it will automatically download the public keys

of the signature and verify that the file matches the signatures

- if _any_ of the signature verification fails, fails the build

- if a public key is not trusted explicitly, fails the build

- if signature verification succeeds, no checksum verification is

performed

Currently it's not possible to perform checksum verification for some

modules and signature verification for others. All modules must declare

all trusted keys.

If a key cannot be downloaded, verification will fail. It's not possible

to ignore a key for now. It's not possible to fallback to checksum

verification.

  1. … 61 more files in changeset.
Initial implementation of verification of signatures

This commit introduces _signature_ verification. Signature verification

is stronger than checksum verification and must be enabled explicitly,

by adding `<signature-verification>true</signature-verification>` to the

dependency verification configuration file.

Once such verification is enabled, Gradle will do its best to verify

the signature of artifacts. This means:

- it will try to download the .asc file associated with an artifact

- if it's present, it will automatically download the public keys

of the signature and verify that the file matches the signatures

- if _any_ of the signature verification fails, fails the build

- if a public key is not trusted explicitly, fails the build

- if signature verification succeeds, no checksum verification is

performed

Currently it's not possible to perform checksum verification for some

modules and signature verification for others. All modules must declare

all trusted keys.

If a key cannot be downloaded, verification will fail. It's not possible

to ignore a key for now. It's not possible to fallback to checksum

verification.

    • -0
    • +69
    ./groovy/org/gradle/security/fixtures/KeyServer.groovy
    • -0
    • +206
    ./groovy/org/gradle/security/fixtures/SigningFixtures.groovy
    • -0
    • +84
    ./groovy/org/gradle/security/fixtures/SimpleKeyRing.groovy
  1. … 61 more files in changeset.
Split the `signing` module

This commit splits the `signing` module into another `security`

project so that we can reuse some code for dependency verification.

It's worth noting that some of the classes had to remain in the `plugins`

package because they were public APIs.

Further effort to split them out may be done later.

    • -0
    • +1
    ./resources/keys/gradle/keyId.txt
    • -0
    • +1
    ./resources/keys/gradle/password.txt
    • binary
    ./resources/keys/gradle/secring.gpg
    • -0
    • +1
    ./resources/keys/invalid-key-ring/keyId.txt
    • -0
    • +1
    ./resources/keys/invalid-key-ring/password.txt
    • -0
    • +1
    ./resources/keys/invalid-key-ring/secring.gpg
  1. … 67 more files in changeset.
Split the `signing` module

This commit splits the `signing` module into another `security`

project so that we can reuse some code for dependency verification.

It's worth noting that some of the classes had to remain in the `plugins`

package because they were public APIs.

Further effort to split them out may be done later.

    • -0
    • +1
    ./resources/keys/gradle/keyId.txt
    • -0
    • +1
    ./resources/keys/gradle/password.txt
    • binary
    ./resources/keys/gradle/secring.gpg
    • -0
    • +1
    ./resources/keys/invalid-key-ring/keyId.txt
    • -0
    • +1
    ./resources/keys/invalid-key-ring/password.txt
    • -0
    • +1
    ./resources/keys/invalid-key-ring/secring.gpg
  1. … 67 more files in changeset.