When an artifact is signed (e.g., using notation), a signature manifest is created. This signature manifest acts as a Referrer to the original artifact.
- Subject Field: The signature manifest contains a
subject field that points to the digest of the target artifact manifest. - Graph Relationship: In the resulting DAG, the signature manifest becomes the root for the combined graph, while the original artifact manifest remains the root of its own subgraph. They may share nodes (like config blobs) if they are identical.
{
"schemaVersion": 2,
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"config": {
"mediaType": "application/vnd.cncf.notary.signature",
"digest": "sha256:44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a",
"size": 2
},
"layers": [
{
"mediaType": "application/jose+json",
"digest": "sha256:37f88486592fd90ace303ee38f8d1ff698193e76c76d3c1fef8627a39e677696",
"size": 2090
}
],
"subject": {
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"digest": "sha256:314c7f20dd44ee1cca06af399a67f7c463a9f586830d630802d9e365933da9fb",
"size": 762
},
"annotations": {
"io.cncf.notary.x509chain.thumbprint#S256": "[\"a9c85558943f197f41fe7cf3caf691f7df8d0088be426a33d895560717893962\"]",
"org.opencontainers.image.created": "2025-02-01T09:50:52Z"
}
}