Auf dieser Seite wird beschrieben, wie Sie die Signatur für Assured OSS-Artefakte überprüfen.
Diese Seite gilt nur für das kostenlose Kontingent. Informationen zum Premium-Tarif finden Sie unter Auf Sicherheitsmetadaten zugreifen und Pakete prüfen.
Paketbestätigung
Paketsignaturen werden separat vom Paket in einem Cloud Storage-Bucket im ZIP-Format gespeichert.
Sie können Signaturen mit dem Assured OSS-Prüftool (aoss-verifier) oder mit einem Prüfskript prüfen.
Tool „aoss-verifier“ verwenden
Bevor Sie dieses Tool verwenden, muss Go auf Ihrem System installiert sein. Wenn Go nicht installiert ist, installieren Sie Go über die Go-Website.
Um die Authentizität und Integrität von Open-Source-Softwarepaketen zu prüfen, installieren Sie das Tool aoss-verifier.
Exportieren Sie
$(go env GOPATH)/binund führen Sie den Befehlaoss-verifier verify-packageaus.aoss-verifier verify-package \ --language LANGUAGE \ --package_id PACKAGE_ID \ --version VERSION \ --artifact_path ARTIFACT_PATH \ [--disable_certificate_verification] \ [--temp_downloads_path TEMP_DOWNLOADS_DIR_PATH] \ [--disable_deletes]Ersetzen Sie Folgendes:
- LANGUAGE: Die Sprache des Programmierpakets, entweder
javaoderpython. Der Wert muss in Kleinbuchstaben angegeben werden. - PACKAGE_ID: Für Java ist es groupId:artifactId und für Python packageName. Der Wert muss in Kleinbuchstaben angegeben werden.
- VERSION: Die Version des Pakets.
- ARTIFACT_PATH: Der Pfad zur Datendatei in Ihrem lokalen Verzeichnis, die Sie überprüfen möchten. Verwenden Sie die folgenden Dateinamenerweiterungen:
jar-Dateiendung für ein Java-Paketwhl-Dateiendung für ein Python-Paket
--disable_certificate_verificationist ein optionales Flag, mit dem der Abgleich des untergeordneten Zertifikats mit dem Root-Zertifikat über die Zertifikatskette übersprungen wird, sofern es verwendet wird.--temp_downloads_pathist ein optionales Flag, mit dem Sie den Pfad festlegen können, in den Sie die Dateien herunterladen möchten. (TEMP_DOWNLOADS_DIR_PATH ersetzen). Wenn dieses Flag nicht festgelegt ist, werden die Dateien in den Ordnertmp_downloadsim aktuellen Verzeichnis heruntergeladen.--disable_deletesist ein optionales Flag, mit dem die heruntergeladenen Dateien beibehalten werden. Standardmäßig werden alle heruntergeladenen Dateien bereinigt.- LANGUAGE: Die Sprache des Programmierpakets, entweder
Weitere Informationen finden Sie in der README.
Bestätigungsskript verwenden
In diesem Abschnitt wird beschrieben, wie Sie mit einem Überprüfungsskript die Signaturen heruntergeladener Pakete überprüfen.
Schritt 1: Signatur-URL abrufen
Die URL der ZIP-Datei ist in den Sicherheitsmetadaten jedes Pakets verfügbar. Das folgende Beispiel stammt aus den Container Analysis-Metadaten.
Wie im folgenden Beispiel gezeigt, finden Sie die Signatur-ZIP-URL im Feld description: digestUrl.
package {
distribution {
cpe_uri: "cpe:2.3:a:JAVA::com.fasterxml.jackson.core:jackson-databind:2.13.3:*:*:*:*:*:*:*"
maintainer: "<nil>"
url: "https://us-maven.pkg.dev/cloud-aoss/cloud-aoss-java/com/fasterxml/jackson/core/jackson-databind/2.13.3/jackson-databind-2.13.3.jar"
description: "{\n \"artifactMetadataList\": [\n {\n \"digestUrl\": \"gs://cloud-aoss/java/com.fasterxml.jackson.core:jackson-databind/2.13.3/jackson-databind-2.13.3_binary_2022-10-12T06:54:05Z.zip\"\n }\n ]\n}"
}
distribution {
cpe_uri: "cpe:2.3:a:JAVA::com.fasterxml.jackson.core:jackson-databind:2.13.3:*:*:*:*:*:*:*"
url: "https://us-maven.pkg.dev/cloud-aoss/cloud-aoss-java/com/fasterxml/jackson/core/jackson-databind/2.13.3/jackson-databind-2.13.3-sources.jar"
description: "{\n \"digestUrl\": \"gs://cloud-aoss/java/com.fasterxml.jackson.core:jackson-databind/2.13.3/jackson-databind-2.13.3-sources_source_2022-10-12T06:54:05Z.zip\"\n}"
}
}
Beispiel aus Cloud Storage-Metadaten (buildInfo.json file). Wie im folgenden Beispiel gezeigt, können Sie die Signatur-ZIP-URL aus dem Feld externalRefs : referenceLocator abrufen.
"packages": [
{
"SPDXID": "SPDXRef-Package-logback-core-1.2.11.jar",
"checksums": [
{
"algorithm": "SHA256",
"checksumValue": "c847e0e310acda8bc1347c9d9cc051e91210b9f943e131fceb5034c2f0c9a5d8"
}
],
"downloadLocation": "https://us-maven.pkg.dev/cloud-aoss/cloud-aoss-java/ch/qos/logback/logback-core/1.2.11/logback-core-1.2.11.jar",
"externalRefs": [
{
"referenceCategory": "SECURITY",
"referenceLocator": "cpe:2.3:a:*:JAVA\\:\\:ch\\.qos\\.logback\\:logback\\-core:1\\.2\\.11:*:*:*:*:*:*:*",
"referenceType": "cpe23Type"
},
{
"referenceCategory": "OTHER",
"referenceLocator": "gs://cloud-aoss/java/ch.qos.logback:logback-core/1.2.11/logback-core-1.2.11_binary_2022-10-12T14:19:11Z.zip",
"referenceType": "digestURL"
}
],
Sie können die lokale Signatur-ZIP-Datei für die manuelle Überprüfung oder die Cloud Storage-URL direkt für die Verwendung des Überprüfungsskripts verwenden. So laden Sie die Datei signature.zip herunter:
Laden Sie
signature.zipmit dem folgenden Befehl herunter:gcloud storage cp SIGNATURE_ZIP_URL PATH_TO_LOCAL_STORE --recursiveErsetzen Sie Folgendes:
- SIGNATURE_ZIP_URL: Die ZIP-URL der Signatur.
- PATH_TO_LOCAL_STORE: der lokale Pfad, in den Sie die Datei herunterladen möchten.
Schritt 2: Root-Zertifikat abrufen
Verwenden Sie die folgende URL, um auf das Root-Zertifikat zuzugreifen:
https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crt
Sie können das Zertifikat lokal herunterladen oder den Zertifikatslink direkt verwenden. Führen Sie den folgenden Befehl aus, um das Zertifikat herunterzuladen:
curl -o PATH_TO_LOCAL_STORE/ca.crt https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crt
Ersetzen Sie PATH_TO_LOCAL_STORE durch den lokalen Pfad, unter dem Sie das Zertifikat herunterladen möchten.
Schritt 3: Speicherort der Paketdatei abrufen
Die Datei, die wir überprüfen würden, ist die JAR-Datei für Java-Pakete und die Wheel-Datei für Python-Pakete. Diese Datei wäre die PATH_TO_DATA_FILE zur Bestätigung.
Schritt 4: Bestätigung
Sie können die Signatur-ZIP-Datei manuell anhand der Schritte unter Manuelle Signaturprüfung prüfen oder das Prüfskript verwenden.
Führen Sie die folgenden Befehle aus, um die Überprüfung mit einem Überprüfungsscript durchzuführen:
Laden Sie das Bestätigungsskript herunter und erteilen Sie Berechtigungen.
gcloud storage cp "gs://cloud-aoss/utils/signature-verification/v1.0/signatureverification.sh" . --recursive chmod +x signatureverification.shFühren Sie das Überprüfungsskript aus und bestätigen Sie die Änderungen. Sie können die Remote-URLs oder lokalen Pfade für die Signatur-ZIP-Datei und das Stammzertifikat verwenden.
./signatureverification.sh --data_file_path PATH_TO_DATA_FILE --signature_url SIGNATURE_ZIP_URL --root_cert_url ROOT_CERT_URLErsetzen Sie Folgendes:
- PATH_TO_DATA_FILE durch den Pfad zur Paketdatei, die in Schritt 3 identifiziert wurde
- SIGNATURE_ZIP_URL durch die Signatur-ZIP-URL, die Sie in Schritt 1 erhalten haben.
- ROOT_CERT_URL durch die Root-Zertifikat-URL, die Sie in Schritt 2 abgerufen haben.
Metadatenüberprüfung
In diesem Abschnitt wird beschrieben, wie Sie die Signatur für die über Cloud Storage aufgerufenen Assured OSS-Metadaten überprüfen können.
Tool „aoss-verifier“ verwenden
Verwenden Sie das aoss-verifier-Tool, um Metadaten zu überprüfen.
Installieren Sie Go, bevor Sie dieses Tool verwenden.
Installieren Sie das aoss-verifier-Tool.
Exportieren Sie
$(go env GOPATH)/binund führen Sie den Befehlaoss-verifier verify-metadataaus.aoss-verifier verify-metadata \ --metadata_type TYPE \ --language LANGUAGE \ --package_id PACKAGE_ID \ --version VERSION \ [--disable_certificate_verification] \ [--temp_downloads_path TEMP_DOWNLOADS_DIR_PATH] \ [--disable_deletes]Ersetzen Sie Folgendes:
- TYPE: Die möglichen Werte sind
buildinfo,vexinfoundhealthinfo. - LANGUAGE: Die Sprache des Programmierpakets, entweder
javaoderpython. Der Wert muss in Kleinbuchstaben angegeben werden. - PACKAGE_ID: Für Java ist das Format groupId:artifactId. Für Python lautet das Format packageName. Der Wert muss in Kleinbuchstaben angegeben werden.
- VERSION: Die Version des Pakets.
--disable_certificate_verificationist ein optionales Flag, mit dem der Abgleich des untergeordneten Zertifikats mit dem Root-Zertifikat über die Zertifikatskette übersprungen wird, sofern es verwendet wird.--temp_downloads_pathist ein optionales Flag, mit dem Sie den Pfad festlegen können, in den die Dateien heruntergeladen werden sollen (ersetzen Sie TEMP_DOWNLOADS_DIR_PATH). Wenn dieses Flag nicht festgelegt ist, werden die Dateien in den Ordnertmp_downloadsim aktuellen Verzeichnis heruntergeladen.--disable_deletesist ein optionales Flag, mit dem die heruntergeladenen Dateien beibehalten werden. Standardmäßig werden alle heruntergeladenen Dateien bereinigt.- TYPE: Die möglichen Werte sind
Weitere Informationen finden Sie in der README-Datei.
Bestätigungsskript verwenden
In diesem Abschnitt wird beschrieben, wie Sie ein Überprüfungsskript verwenden, um die Datei mit Sicherheitsmetadaten zu überprüfen.
Schritt 1: Signatur-ZIP-Datei und Metadatendatei abrufen
Wir können auf die Metadaten zugreifen, wie unter Auf Metadaten zugreifen beschrieben. Die Metadatendatei ist in der Datei „signature.zip“ enthalten.
Beispiel – Inhalt von buildInfo.zip
buildInfo.json
signature.zip
buildInfo.json ist die Metadatendatei, die überprüft werden muss, und signature.zip ist die Signatur-ZIP-Datei.
Schritt 2: Root-Zertifikat abrufen
Verwenden Sie den folgenden URL-Link, um das Stammzertifikat abzurufen:
https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crt
Sie können das Zertifikat lokal herunterladen oder den Zertifikatslink direkt verwenden. Führen Sie den folgenden Befehl aus, um das Zertifikat herunterzuladen:
curl -o PATH_TO_LOCAL_STORE/ca.crt https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crt
Ersetzen Sie PATH_TO_LOCAL_STORE durch den lokalen Pfad, unter dem Sie das Zertifikat herunterladen möchten.
Schritt 3: Bestätigung
Sie können die signature.zip manuell bestätigen oder das Bestätigungsskript verwenden.
Führen Sie die folgenden Befehle aus, um die Überprüfung mit einem Überprüfungsscript durchzuführen:
Laden Sie das Bestätigungsskript herunter und erteilen Sie Berechtigungen.
gcloud storage cp "gs://cloud-aoss/utils/signature-verification/v1.0/signatureverification.sh" . --recursive chmod +x signatureverification.shFühren Sie das Überprüfungsskript aus und bestätigen Sie die Änderungen. Sie sollten den lokalen Pfad für die Signatur-ZIP-Datei verwenden. Für das Stammzertifikat können Sie entweder die URL oder den lokalen Pfad verwenden. Die Datendatei ist die Metadatendatei, die wir überprüfen –
buildInfo.json,vexInfo.jsonoderhealthInfo.json../signatureverification.sh --data_file_path PATH_TO_DATA_FILE --signature_local_path SIGNATURE_LOCAL_PATH --root_cert_url ROOT_CERT_URLErsetzen Sie Folgendes:
PATH_TO_DATA_FILE mit der Metadatendatei, die wir in Schritt 1 erhalten haben.
SIGNATURE_LOCAL_PATH durch die URL der Signatur-ZIP-Datei, die Sie in Schritt 1 erhalten haben.
ROOT_CERT_URL durch die URL des Stammzertifikats, die Sie in Schritt 2 abgerufen haben.
Wenn Sie ein bereits heruntergeladenes lokales Zertifikat verwenden möchten, wählen Sie stattdessen diese Option aus:
--root_cert_local ROOT_CERT_LOCALErsetzen Sie ROOT_CERT_LOCAL durch den lokalen Zertifikatspfad.
Prüfung von Hilfsskripts
Assured OSS bietet drei Dienstprogramm-Scripts. In diesem Abschnitt wird beschrieben, wie Sie die Signatur dieser Skripts überprüfen.
Python-Requirements.txt-Generator
Die Signatur für diese Datei finden Sie unter gs://cloud-aoss/utils/python-requirements-txt/v1.0/generator-sig.zip. Sie können die signature.zip entweder manuell oder mit dem Bestätigungsskript bestätigen.
So überprüfen Sie die Signatur schnell mit dem Bestätigungsskript:
Wenn Sie die Scriptdatei für den
requirements.txt-Generator noch nicht heruntergeladen haben, tun Sie dies jetzt.gcloud storage cp "gs://cloud-aoss/utils/python-requirements-txt/v1.0/generator.sh" . --recursiveRufen Sie das Root-Zertifikat ab. Der URL-Link lautet
https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crt. Sie können das Zertifikat lokal herunterladen oder den Zertifikatslink direkt verwenden. Führen Sie den folgenden Befehl aus, um das Zertifikat herunterzuladen:curl -o PATH_TO_LOCAL_STORE/ca.crt "https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crt"Ersetzen Sie PATH_TO_LOCAL_STORE durch den lokalen Pfad, in den Sie das Zertifikat herunterladen möchten.
Laden Sie das Überprüfungsskript herunter, falls Sie dies noch nicht getan haben.
gcloud storage cp "gs://cloud-aoss/utils/signature-verification/v1.0/signatureverification.sh" . --recursive chmod +x signatureverification.shFühren Sie das Überprüfungsskript aus und bestätigen Sie die Änderungen.
./signatureverification.sh --data_file_path PATH_TO_DATA_FILE --signature_url "gs://cloud-aoss/utils/python-requirements-txt/v1.0/generator-sig.zip" --root_cert_url ROOT_CERT_URLErsetzen Sie Folgendes:
- Ersetzen Sie PATH_TO_DATA_FILE durch den lokalen Pfad des
generator.sh-Skripts, das wir überprüfen möchten (siehe Schritt 2). - ROOT_CERT_URL durch die URL des Root-Zertifikats. Wenn Sie ein bereits heruntergeladenes lokales Zertifikat verwenden möchten, führen Sie den folgenden Befehl aus:
–root_cert_local ROOT_CERT_LOCALErsetzen Sie ROOT_CERT_LOCAL durch den lokalen Pfad des Stammzertifikats.
- Ersetzen Sie PATH_TO_DATA_FILE durch den lokalen Pfad des
Skript zur Signaturüberprüfung
Sie können unter gs://cloud-aoss/utils/signature-verification/v1.0/signatureverification-sig.zip auf die Signatur für diese Datei zugreifen. Sie können die signature.zip entweder manuell oder mit dem Bestätigungsskript bestätigen.
So überprüfen Sie die Signatur schnell mit dem Bestätigungsskript:
Wenn Sie das Skript zum Prüfen der Signatur noch nicht heruntergeladen haben, tun Sie dies jetzt.
gcloud storage cp "gs://cloud-aoss/utils/signature-verification/v1.0/signatureverification.sh" . --recursive chmod +x signatureverification.shRufen Sie das Root-Zertifikat ab. Der URL-Link lautet
https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crt. Sie können das Zertifikat lokal herunterladen oder den Zertifikatslink direkt verwenden. Befehl zum Herunterladen des Zertifikats:curl -o PATH_TO_LOCAL_STORE/ca.crt https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crtErsetzen Sie PATH_TO_LOCAL_STORE durch den lokalen Pfad, in den Sie das Zertifikat herunterladen möchten.
Führen Sie das Überprüfungsskript aus und bestätigen Sie die Änderungen.
./signatureverification.sh --data_file_path PATH_TO_DATA_FILE --signature_url "gs://cloud-aoss/utils/signature-verification/v1.0/signatureverification-sig.zip" --root_cert_url ROOT_CERT_URLErsetzen Sie Folgendes:
PATH_TO_DATA_FILE mit dem lokalen Pfad des Bestätigungsskripts, das wir bestätigen möchten (siehe Schritt 2). ROOT_CERT_URL durch die URL des Root-Zertifikats. Wenn Sie ein bereits heruntergeladenes lokales Zertifikat verwenden möchten, wählen Sie stattdessen diese Option aus:
–root_cert_local ROOT_CERT_LOCALErsetzen Sie ROOT_CERT_LOCAL durch den lokalen Pfad des Root-Zertifikats.
Metadatenscript herunterladen
Sie können unter gs://cloud-aoss/utils/python-download-metadata/v1.1/download_metadata-sig.zip auf die Signatur für diese Datei zugreifen. Sie können die signature.zip entweder manuell oder mit dem Bestätigungsskript bestätigen.
So überprüfen Sie die Signatur schnell mit dem Bestätigungsskript:
Wenn Sie die
download_metadata.py-Scriptdatei noch nicht heruntergeladen haben, tun Sie dies jetzt.gcloud storage cp "gs://cloud-aoss/utils/python-download-metadata/v1.1/download_metadata.py" . --recursiveRufen Sie das Root-Zertifikat ab. Der URL-Link lautet
https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crt. Sie können das Zertifikat lokal herunterladen oder den Zertifikatslink direkt verwenden.Führen Sie den folgenden Befehl aus, um das Zertifikat herunterzuladen:
curl -o PATH_TO_LOCAL_STORE/ca.crt https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crtErsetzen Sie PATH_TO_LOCAL_STORE durch den lokalen Pfad, in den Sie das Zertifikat herunterladen möchten.
Laden Sie das Bestätigungsskript herunter.
gcloud storage cp "gs://cloud-aoss/utils/signature-verification/v1.0/signatureverification.sh" . --recursive chmod +x signatureverification.shFühren Sie das Überprüfungsskript aus und bestätigen Sie die Änderungen.
./signatureverification.sh --data_file_path PATH_TO_DATA_FILE --signature_url gs://cloud-aoss/utils/python-download-metadata/v1.1/download_metadata-sig.zip --root_cert_url ROOT_CERT_URLErsetzen Sie Folgendes:
- Ersetzen Sie PATH_TO_DATA_FILE durch den lokalen Pfad des
download_metadata.py-Skripts, das wir überprüfen möchten (siehe Schritt 2). - ROOT_CERT_URL durch die URL des Root-Zertifikats. Wenn Sie ein bereits heruntergeladenes lokales Zertifikat verwenden möchten, führen Sie den folgenden Befehl aus:
–root_cert_local ROOT_CERT_LOCALErsetzen Sie ROOT_CERT_LOCAL durch den lokalen Pfad des Stammzertifikats.
- Ersetzen Sie PATH_TO_DATA_FILE durch den lokalen Pfad des