I pacchetti NPM e NuGet del CAEP vengono caricati sull’azure DevOps registry privato di Code Architects.
Per poterli utilizzare, a ciascun cliente verrà fornita un’utenza con dominio @codearchitects.com e verrà abilitato a scaricare i pacchetti assegnadogli i permessi necessari.

NPM

Quando i pacchetti NPM vengono scaricati dal nostro NPM registry (generalmente tramite un npm install sul package.json del progetto), con il seguente comando sarà possibile verificare una serie di informazioni:

npm view @ca/cli@1.1.7

# OUTPUT:
...
dist
.tarball: https://devops.codearchitects.com:444/Code Architects/_packaging/ca-npm/npm/registry/@ca/cli/-/cli-1.1.7.tgz
.shasum: 2f61f3d7652fafbd3d9d019c03c05db12f954e2f
...

Sotto la voce dist avremo due campi:

  • tarball: origine del pacchetto
  • shasum: hash generato sul .tgz

L’Azure DevOps Registry si occupa già di fare un controllo sull’hash, ma possiamo procedere con ulteriori verifiche manuali scaricando lo stesso pacchetto sotto forma di .tgz:

npm pack @ca/cli@1.1.7

e lanciare quindi il seguente comando sullo stesso:

sha1sum ./ca-cli-1.1.7.tgz

# OUTPUT:
\2f61f3d7652fafbd3d9d019c03c05db12f954e2f *.\\ca-cli-1.1.7.tgz

Possiamo notare come l’hash confrontato sia identico per la relativa versione del pacchetto preso in esame.

NuGet

Quando viene eseguito il restore dei pacchetti NuGet mediante una .sln o un .csproj, essi finiscono solitamente nella cache locale:

  1. Se si utilizza Visual Studio, è possibile cliccare su Open Folder in File Explorer sulla dipendenza interessata ubicata nell’albero Dependencies del Solution Explorer;

  2. altrimenti bisogna raggiungere il path della cache sotto C:\Users\<nomeUtente>\.nuget\.packages\<nomePacchetto>\<versione>\<pacchetto>.nupkg e lanciare il seguente comando per verificare l’autenticità del pacchetto:

dotnet nuget verify ./<nomePacchetto>.<verione>.nupkg

# OUTPUT:
Signature type: Author
  Subject Name: CN=Code Architects SRL, O=Code Architects SRL, L=Santeramo in colle, S=Bari, C=IT
  SHA256 hash: ...
  Valid from: 8/6/2024 6:48:16 AM to 8/9/2024 6:48:16 AM