Class TransparencyLogEntry

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, TransparencyLogEntryOrBuilder, java.io.Serializable

    public final class TransparencyLogEntry
    extends com.google.protobuf.GeneratedMessage
    implements TransparencyLogEntryOrBuilder
     TransparencyLogEntry captures all the details required from Rekor to
     reconstruct an entry, given that the payload is provided via other means.
     This type can easily be created from the existing response from Rekor.
     Future iterations could rely on Rekor returning the minimal set of
     attributes (excluding the payload) that are required for verifying the
     inclusion promise. The inclusion promise (called SignedEntryTimestamp in
     the response from Rekor) is similar to a Signed Certificate Timestamp
     as described here https://www.rfc-editor.org/rfc/rfc6962.html#section-3.2.
     
    Protobuf type dev.sigstore.rekor.v1.TransparencyLogEntry
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  TransparencyLogEntry.Builder
      TransparencyLogEntry captures all the details required from Rekor to reconstruct an entry, given that the payload is provided via other means.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage

        com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>,​BuilderT extends com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT,​BuilderT>>, com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.FieldAccessorTable, com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT extends com.google.protobuf.Message,​T extends java.lang.Object>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessage

        com.google.protobuf.AbstractMessage.BuilderParent
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Field Detail

      • KIND_VERSION_FIELD_NUMBER

        public static final int KIND_VERSION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • INTEGRATED_TIME_FIELD_NUMBER

        public static final int INTEGRATED_TIME_FIELD_NUMBER
        See Also:
        Constant Field Values
      • INCLUSION_PROMISE_FIELD_NUMBER

        public static final int INCLUSION_PROMISE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • INCLUSION_PROOF_FIELD_NUMBER

        public static final int INCLUSION_PROOF_FIELD_NUMBER
        See Also:
        Constant Field Values
      • CANONICALIZED_BODY_FIELD_NUMBER

        public static final int CANONICALIZED_BODY_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
      • getLogIndex

        public long getLogIndex()
         The global index of the entry, used when querying the log by index.
         
        int64 log_index = 1 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getLogIndex in interface TransparencyLogEntryOrBuilder
        Returns:
        The logIndex.
      • hasLogId

        public boolean hasLogId()
         The unique identifier of the log.
         
        .dev.sigstore.common.v1.LogId log_id = 2 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        hasLogId in interface TransparencyLogEntryOrBuilder
        Returns:
        Whether the logId field is set.
      • getLogId

        public LogId getLogId()
         The unique identifier of the log.
         
        .dev.sigstore.common.v1.LogId log_id = 2 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getLogId in interface TransparencyLogEntryOrBuilder
        Returns:
        The logId.
      • hasKindVersion

        public boolean hasKindVersion()
         The kind (type) and version of the object associated with this
         entry. These values are required to construct the entry during
         verification.
         
        .dev.sigstore.rekor.v1.KindVersion kind_version = 3 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        hasKindVersion in interface TransparencyLogEntryOrBuilder
        Returns:
        Whether the kindVersion field is set.
      • getKindVersion

        public KindVersion getKindVersion()
         The kind (type) and version of the object associated with this
         entry. These values are required to construct the entry during
         verification.
         
        .dev.sigstore.rekor.v1.KindVersion kind_version = 3 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getKindVersion in interface TransparencyLogEntryOrBuilder
        Returns:
        The kindVersion.
      • getKindVersionOrBuilder

        public KindVersionOrBuilder getKindVersionOrBuilder()
         The kind (type) and version of the object associated with this
         entry. These values are required to construct the entry during
         verification.
         
        .dev.sigstore.rekor.v1.KindVersion kind_version = 3 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getKindVersionOrBuilder in interface TransparencyLogEntryOrBuilder
      • getIntegratedTime

        public long getIntegratedTime()
         The UNIX timestamp from the log when the entry was persisted.
         
        int64 integrated_time = 4 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getIntegratedTime in interface TransparencyLogEntryOrBuilder
        Returns:
        The integratedTime.
      • hasInclusionPromise

        public boolean hasInclusionPromise()
         The inclusion promise/signed entry timestamp from the log.
         Required for v0.1 bundles, and MUST be verified.
         Optional for >= v0.2 bundles, and SHOULD be verified when present.
         Also may be used as a signed timestamp.
         
        .dev.sigstore.rekor.v1.InclusionPromise inclusion_promise = 5;
        Specified by:
        hasInclusionPromise in interface TransparencyLogEntryOrBuilder
        Returns:
        Whether the inclusionPromise field is set.
      • getInclusionPromise

        public InclusionPromise getInclusionPromise()
         The inclusion promise/signed entry timestamp from the log.
         Required for v0.1 bundles, and MUST be verified.
         Optional for >= v0.2 bundles, and SHOULD be verified when present.
         Also may be used as a signed timestamp.
         
        .dev.sigstore.rekor.v1.InclusionPromise inclusion_promise = 5;
        Specified by:
        getInclusionPromise in interface TransparencyLogEntryOrBuilder
        Returns:
        The inclusionPromise.
      • getInclusionPromiseOrBuilder

        public InclusionPromiseOrBuilder getInclusionPromiseOrBuilder()
         The inclusion promise/signed entry timestamp from the log.
         Required for v0.1 bundles, and MUST be verified.
         Optional for >= v0.2 bundles, and SHOULD be verified when present.
         Also may be used as a signed timestamp.
         
        .dev.sigstore.rekor.v1.InclusionPromise inclusion_promise = 5;
        Specified by:
        getInclusionPromiseOrBuilder in interface TransparencyLogEntryOrBuilder
      • hasInclusionProof

        public boolean hasInclusionProof()
         The inclusion proof can be used for offline or online verification
         that the entry was appended to the log, and that the log has not been
         altered.
         
        .dev.sigstore.rekor.v1.InclusionProof inclusion_proof = 6 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        hasInclusionProof in interface TransparencyLogEntryOrBuilder
        Returns:
        Whether the inclusionProof field is set.
      • getInclusionProof

        public InclusionProof getInclusionProof()
         The inclusion proof can be used for offline or online verification
         that the entry was appended to the log, and that the log has not been
         altered.
         
        .dev.sigstore.rekor.v1.InclusionProof inclusion_proof = 6 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getInclusionProof in interface TransparencyLogEntryOrBuilder
        Returns:
        The inclusionProof.
      • getInclusionProofOrBuilder

        public InclusionProofOrBuilder getInclusionProofOrBuilder()
         The inclusion proof can be used for offline or online verification
         that the entry was appended to the log, and that the log has not been
         altered.
         
        .dev.sigstore.rekor.v1.InclusionProof inclusion_proof = 6 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getInclusionProofOrBuilder in interface TransparencyLogEntryOrBuilder
      • getCanonicalizedBody

        public com.google.protobuf.ByteString getCanonicalizedBody()
         Optional. The canonicalized transparency log entry, used to
         reconstruct the Signed Entry Timestamp (SET) during verification.
         The contents of this field are the same as the `body` field in
         a Rekor response, meaning that it does **not** include the "full"
         canonicalized form (of log index, ID, etc.) which are
         exposed as separate fields. The verifier is responsible for
         combining the `canonicalized_body`, `log_index`, `log_id`,
         and `integrated_time` into the payload that the SET's signature
         is generated over.
         This field is intended to be used in cases where the SET cannot be
         produced determinisitically (e.g. inconsistent JSON field ordering,
         differing whitespace, etc).
        
         If set, clients MUST verify that the signature referenced in the
         `canonicalized_body` matches the signature provided in the
         `Bundle.content`.
         If not set, clients are responsible for constructing an equivalent
         payload from other sources to verify the signature.
         
        bytes canonicalized_body = 7;
        Specified by:
        getCanonicalizedBody in interface TransparencyLogEntryOrBuilder
        Returns:
        The canonicalizedBody.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessage
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws java.io.IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessage
        Throws:
        java.io.IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessage
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static TransparencyLogEntry parseFrom​(java.nio.ByteBuffer data)
                                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static TransparencyLogEntry parseFrom​(java.nio.ByteBuffer data,
                                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static TransparencyLogEntry parseFrom​(com.google.protobuf.ByteString data)
                                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static TransparencyLogEntry parseFrom​(com.google.protobuf.ByteString data,
                                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static TransparencyLogEntry parseFrom​(byte[] data)
                                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static TransparencyLogEntry parseFrom​(byte[] data,
                                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static TransparencyLogEntry parseFrom​(java.io.InputStream input)
                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static TransparencyLogEntry parseFrom​(java.io.InputStream input,
                                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static TransparencyLogEntry parseDelimitedFrom​(java.io.InputStream input)
                                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static TransparencyLogEntry parseDelimitedFrom​(java.io.InputStream input,
                                                              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static TransparencyLogEntry parseFrom​(com.google.protobuf.CodedInputStream input)
                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static TransparencyLogEntry parseFrom​(com.google.protobuf.CodedInputStream input,
                                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • newBuilderForType

        public TransparencyLogEntry.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public TransparencyLogEntry.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected TransparencyLogEntry.Builder newBuilderForType​(com.google.protobuf.AbstractMessage.BuilderParent parent)
        Overrides:
        newBuilderForType in class com.google.protobuf.AbstractMessage
      • getParserForType

        public com.google.protobuf.Parser<TransparencyLogEntry> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessage
      • getDefaultInstanceForType

        public TransparencyLogEntry getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder