Halaman ini menjelaskan cara memverifikasi tanda tangan pada artefak Assured OSS.
Halaman ini hanya berlaku untuk paket gratis. Untuk tingkat premium, lihat Mengakses metadata keamanan dan memverifikasi paket.
Verifikasi paket
Tanda tangan paket disimpan secara terpisah dari paket dalam bucket Cloud Storage dalam format zip.
Anda dapat memverifikasi tanda tangan menggunakan
alat verifikasi OSS Tepercaya (aoss-verifier) atau menggunakan skrip verifikasi.
Menggunakan alat aoss-verifier
Sebelum menggunakan alat ini, pastikan Go diinstal di sistem Anda. Jika Go belum diinstal, instal Go dari situs Go.
Untuk memverifikasi keaslian dan integritas paket software open source, instal alat aoss-verifier.
Ekspor
$(go env GOPATH)/bin, lalu jalankan perintahaoss-verifier verify-package.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]Ganti kode berikut:
- LANGUAGE: Bahasa paket pemrograman,
javaataupython. Nilai harus dalam huruf kecil. - PACKAGE_ID: untuk Java, ini adalah groupId:artifactId dan untuk Python, ini adalah packageName. Nilai harus dalam huruf kecil.
- VERSION: Versi paket.
- ARTIFACT_PATH: Jalur ke file data di direktori lokal yang ingin Anda verifikasi. Gunakan ekstensi nama file berikut:
- Ekstensi file
jaruntuk paket Java - Ekstensi file
whluntuk paket Python
- Ekstensi file
--disable_certificate_verificationadalah tanda opsional yang melewati pencocokan sertifikat leaf dengan sertifikat root melalui rantai sertifikat, jika digunakan.--temp_downloads_pathadalah tanda opsional untuk menetapkan jalur tempat Anda ingin mendownload file. (ganti TEMP_DOWNLOADS_DIR_PATH). Jika tanda ini tidak disetel, file akan didownload ke foldertmp_downloadsdi direktori saat ini.--disable_deletesadalah tanda opsional yang menyimpan file yang didownload. Secara default, alat ini akan membersihkan semua file yang didownload.- LANGUAGE: Bahasa paket pemrograman,
Lihat README untuk mengetahui informasi selengkapnya.
Menggunakan skrip verifikasi
Bagian ini menjelaskan cara menggunakan skrip verifikasi untuk memverifikasi tanda tangan paket yang didownload.
Langkah 1: Dapatkan URL tanda tangan
URL file ZIP tersedia di metadata keamanan setiap paket. Contoh berikut adalah sampel dari metadata Analisis Container.
Seperti yang ditunjukkan dalam contoh berikut, Anda dapat menemukan URL zip tanda tangan di kolom
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}"
}
}
Contoh dari metadata Cloud Storage (buildInfo.json file). Seperti yang ditunjukkan dalam contoh berikut, Anda bisa mendapatkan URL zip tanda tangan dari kolom externalRefs : referenceLocator.
"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"
}
],
Anda dapat menggunakan zip tanda tangan lokal untuk verifikasi manual atau
URL Cloud Storage secara langsung untuk menggunakan skrip verifikasi. Anda dapat mendownload
file signature.zip menggunakan langkah-langkah berikut:
Siapkan autentikasi menggunakan Kredensial Default Aplikasi (ADC).
Download
signature.zipmenggunakan perintah berikut:gcloud storage cp SIGNATURE_ZIP_URL PATH_TO_LOCAL_STORE --recursiveGanti kode berikut:
- SIGNATURE_ZIP_URL: URL zip tanda tangan.
- PATH_TO_LOCAL_STORE: jalur lokal tempat Anda ingin mendownload file.
Langkah 2: Dapatkan sertifikat root
Untuk mengakses sertifikat root, gunakan URL berikut:
https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crt
Anda dapat mendownload sertifikat secara lokal atau menggunakan link sertifikat secara langsung. Untuk mendownload sertifikat, jalankan perintah berikut:
curl -o PATH_TO_LOCAL_STORE/ca.crt https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crt
Ganti PATH_TO_LOCAL_STORE dengan jalur lokal tempat Anda ingin mendownload sertifikat.
Langkah 3: Dapatkan lokasi file paket
File yang akan kami verifikasi adalah jar untuk paket Java dan file wheel untuk paket Python. File tersebut akan menjadi PATH_TO_DATA_FILE untuk verifikasi.
Langkah 4: Verifikasi
Anda dapat memverifikasi zip tanda tangan secara manual menggunakan langkah-langkah di verifikasi tanda tangan manual atau dapat menggunakan skrip verifikasi.
Untuk memverifikasi menggunakan skrip verifikasi, jalankan perintah berikut:
Download skrip verifikasi dan berikan izin.
gcloud storage cp "gs://cloud-aoss/utils/signature-verification/v1.0/signatureverification.sh" . --recursive chmod +x signatureverification.shJalankan skrip verifikasi dan verifikasi. Anda dapat menggunakan URL jarak jauh atau jalur lokal untuk zip tanda tangan dan sertifikat root.
./signatureverification.sh --data_file_path PATH_TO_DATA_FILE --signature_url SIGNATURE_ZIP_URL --root_cert_url ROOT_CERT_URLGanti kode berikut:
- PATH_TO_DATA_FILE dengan jalur ke file paket yang diidentifikasi di langkah 3
- SIGNATURE_ZIP_URL dengan URL zip tanda tangan yang diperoleh pada langkah 1.
- ROOT_CERT_URL dengan URL sertifikat root yang diperoleh pada langkah 2.
Verifikasi metadata
Bagian ini menjelaskan cara memverifikasi tanda tangan pada metadata Assured OSS yang diakses menggunakan Cloud Storage.
Menggunakan alat aoss-verifier
Gunakan alat aoss-verifier untuk memverifikasi metadata.
Sebelum menggunakan alat ini, instal Go.
Instal alat aoss-verifier.
Ekspor
$(go env GOPATH)/bin, lalu jalankan perintahaoss-verifier verify-metadata.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]Ganti kode berikut:
- TYPE: Nilai yang mungkin adalah
buildinfo,vexinfo, danhealthinfo. - LANGUAGE: Bahasa paket pemrograman,
javaataupython. Nilai harus dalam huruf kecil. - PACKAGE_ID: Untuk Java, formatnya adalah groupId:artifactId. Untuk Python, formatnya adalah packageName. Nilai harus dalam huruf kecil.
- VERSION: Versi paket.
--disable_certificate_verificationadalah tanda opsional yang melewati pencocokan sertifikat leaf dengan sertifikat root melalui rantai sertifikat, jika digunakan.--temp_downloads_pathadalah tanda opsional untuk menetapkan jalur tempat Anda ingin mendownload file (ganti TEMP_DOWNLOADS_DIR_PATH). Jika tanda ini tidak ditetapkan, file akan didownload ke foldertmp_downloadsdi direktori saat ini.--disable_deletesadalah tanda opsional yang menyimpan file yang didownload. Secara default, alat ini akan membersihkan semua file yang didownload.- TYPE: Nilai yang mungkin adalah
Untuk mengetahui informasi selengkapnya, lihat README.
Menggunakan skrip verifikasi
Bagian ini menjelaskan cara menggunakan skrip verifikasi untuk memverifikasi file metadata keamanan.
Langkah 1: Dapatkan file metadata dan zip tanda tangan
Kita dapat mengakses metadata seperti di Mengakses Metadata. File metadata akan ada bersama file signature.zip.
Contoh - isi buildInfo.zip
buildInfo.json
signature.zip
buildInfo.json adalah file metadata yang harus diverifikasi dan
signature.zip adalah zip tanda tangan.
Langkah 2: Dapatkan sertifikat root
Gunakan link URL berikut untuk mendapatkan sertifikat root:
https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crt
Anda dapat mendownload sertifikat secara lokal atau menggunakan link sertifikat secara langsung. Untuk mendownload sertifikat, jalankan perintah berikut:
curl -o PATH_TO_LOCAL_STORE/ca.crt https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crt
Ganti PATH_TO_LOCAL_STORE dengan jalur lokal tempat Anda ingin mendownload sertifikat.
Langkah 3: Verifikasi
Anda dapat memverifikasi signature.zip menggunakan verifikasi manual atau dengan
menggunakan skrip verifikasi.
Untuk memverifikasi menggunakan skrip verifikasi, jalankan perintah berikut:
Download skrip verifikasi dan berikan izin.
gcloud storage cp "gs://cloud-aoss/utils/signature-verification/v1.0/signatureverification.sh" . --recursive chmod +x signatureverification.shJalankan skrip verifikasi dan verifikasi. Anda harus menggunakan jalur lokal untuk zip tanda tangan. Untuk sertifikat root, Anda dapat menggunakan URL atau jalur lokal. File data akan menjadi file metadata yang kita verifikasi -
buildInfo.json,vexInfo.json, atauhealthInfo.json../signatureverification.sh --data_file_path PATH_TO_DATA_FILE --signature_local_path SIGNATURE_LOCAL_PATH --root_cert_url ROOT_CERT_URLGanti kode berikut:
PATH_TO_DATA_FILE dengan file metadata yang kami verifikasi sebagai yang diperoleh di Langkah 1.
SIGNATURE_LOCAL_PATH dengan URL zip tanda tangan yang diperoleh di langkah 1.
ROOT_CERT_URL dengan URL sertifikat root yang diperoleh di langkah 2.
Jika Anda ingin menggunakan sertifikat lokal yang sudah didownload, gunakan opsi ini:
--root_cert_local ROOT_CERT_LOCALGanti ROOT_CERT_LOCAL dengan jalur sertifikat lokal.
Verifikasi skrip utilitas
Assured OSS menyediakan tiga skrip utilitas. Bagian ini menjelaskan cara memverifikasi tanda tangan pada skrip ini.
Generator Python Requirements.txt
Akses tanda tangan untuk file ini di
gs://cloud-aoss/utils/python-requirements-txt/v1.0/generator-sig.zip. Anda dapat memverifikasi
signature.zip baik menggunakan verifikasi manual atau
menggunakan skrip verifikasi.
Untuk memverifikasi tanda tangan dengan cepat menggunakan skrip verifikasi, ikuti langkah-langkah berikut:
Jika Anda belum mendownload file skrip generator
requirements.txt, download file tersebut.gcloud storage cp "gs://cloud-aoss/utils/python-requirements-txt/v1.0/generator.sh" . --recursiveAmbil root certificate. Link URL adalah
https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crtAnda dapat mendownload sertifikat secara lokal atau menggunakan link sertifikat secara langsung. Untuk mendownload sertifikat, jalankan perintah berikut:curl -o PATH_TO_LOCAL_STORE/ca.crt "https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crt"Ganti PATH_TO_LOCAL_STORE dengan jalur lokal tempat Anda ingin mendownload sertifikat
Download skrip verifikasi jika Anda belum melakukannya.
gcloud storage cp "gs://cloud-aoss/utils/signature-verification/v1.0/signatureverification.sh" . --recursive chmod +x signatureverification.shJalankan skrip verifikasi dan verifikasi.
./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_URLGanti kode berikut:
- PATH_TO_DATA_FILE dengan jalur lokal skrip
generator.shyang ingin kita verifikasi seperti yang diperoleh di Langkah 2. - ROOT_CERT_URL dengan URL sertifikat root. Jika Anda ingin menggunakan sertifikat lokal yang sudah didownload, jalankan perintah berikut:
–root_cert_local ROOT_CERT_LOCALGanti ROOT_CERT_LOCAL dengan jalur lokal sertifikat root.
- PATH_TO_DATA_FILE dengan jalur lokal skrip
Skrip verifikasi tanda tangan
Akses tanda tangan untuk file ini di gs://cloud-aoss/utils/signature-verification/v1.0/signatureverification-sig.zip. Anda dapat memverifikasi
signature.zip baik menggunakan verifikasi manual atau
menggunakan skrip verifikasi.
Untuk memverifikasi tanda tangan dengan cepat menggunakan skrip verifikasi, ikuti langkah-langkah berikut:
Jika Anda belum mendownload file skrip verifikasi tanda tangan, download file tersebut.
gcloud storage cp "gs://cloud-aoss/utils/signature-verification/v1.0/signatureverification.sh" . --recursive chmod +x signatureverification.shAmbil root certificate. Link URL adalah
https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crtAnda dapat mendownload sertifikat secara lokal atau menggunakan link sertifikat secara langsung. Perintah untuk mendownload sertifikat:curl -o PATH_TO_LOCAL_STORE/ca.crt https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crtGanti PATH_TO_LOCAL_STORE dengan jalur lokal tempat Anda ingin mendownload sertifikat
Jalankan skrip verifikasi dan verifikasi.
./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_URLGanti kode berikut:
PATH_TO_DATA_FILE dengan jalur lokal skrip verifikasi yang ingin kita verifikasi seperti yang diperoleh pada Langkah 2. ROOT_CERT_URL dengan URL sertifikat root. Jika Anda ingin menggunakan sertifikat lokal yang sudah didownload, gunakan opsi ini:
–root_cert_local ROOT_CERT_LOCALGanti ROOT_CERT_LOCAL dengan jalur lokal sertifikat root.
Mendownload skrip metadata
Akses tanda tangan untuk file ini di gs://cloud-aoss/utils/python-download-metadata/v1.1/download_metadata-sig.zip. Anda dapat memverifikasi
signature.zip baik menggunakan verifikasi manual atau
menggunakan skrip verifikasi.
Untuk memverifikasi tanda tangan dengan cepat menggunakan skrip verifikasi, ikuti langkah-langkah berikut:
Jika Anda belum mendownload file skrip
download_metadata.py, download file tersebut.gcloud storage cp "gs://cloud-aoss/utils/python-download-metadata/v1.1/download_metadata.py" . --recursiveAmbil root certificate. Link URL adalah
https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crtAnda dapat mendownload sertifikat secara lokal atau menggunakan link sertifikat secara langsung.Untuk mendownload sertifikat, jalankan perintah berikut:
curl -o PATH_TO_LOCAL_STORE/ca.crt https://privateca-content-6333d504-0000-2df7-afd6-30fd38154590.storage.googleapis.com/a2c725a592f1d586f1f8/ca.crtGanti PATH_TO_LOCAL_STORE dengan jalur lokal tempat Anda ingin mendownload sertifikat
Download skrip verifikasi.
gcloud storage cp "gs://cloud-aoss/utils/signature-verification/v1.0/signatureverification.sh" . --recursive chmod +x signatureverification.shJalankan skrip verifikasi dan verifikasi.
./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_URLGanti kode berikut:
- PATH_TO_DATA_FILE dengan jalur lokal skrip
download_metadata.pyyang ingin kita verifikasi seperti yang diperoleh di Langkah 2. - ROOT_CERT_URL dengan URL sertifikat root. Jika Anda ingin menggunakan sertifikat lokal yang sudah didownload, jalankan perintah berikut:
–root_cert_local ROOT_CERT_LOCALGanti ROOT_CERT_LOCAL dengan jalur lokal sertifikat root.
- PATH_TO_DATA_FILE dengan jalur lokal skrip