spiffe
Version:
Node.js SPIFFE Workload API client
694 lines (693 loc) • 26 kB
text/typescript
import * as x509 from "@peculiar/x509";
import * as _protobuf_ts_runtime_rpc0 from "@protobuf-ts/runtime-rpc";
import { RpcOptions, RpcTransport, ServerStreamingCall, ServiceInfo, ServiceType, UnaryCall } from "@protobuf-ts/runtime-rpc";
import * as _protobuf_ts_runtime0 from "@protobuf-ts/runtime";
import { BinaryReadOptions, BinaryWriteOptions, IBinaryReader, IBinaryWriter, JsonReadOptions, JsonValue, JsonWriteOptions, MessageType, PartialMessage } from "@protobuf-ts/runtime";
//#region src/proto/google/protobuf/struct.d.ts
/**
* `Struct` represents a structured data value, consisting of fields
* which map to dynamically typed values. In some languages, `Struct`
* might be supported by a native representation. For example, in
* scripting languages like JS a struct is represented as an
* object. The details of that representation are described together
* with the proto support for the language.
*
* The JSON representation for `Struct` is JSON object.
*
* @generated from protobuf message google.protobuf.Struct
*/
interface Struct {
/**
* Unordered map of dynamically typed values.
*
* @generated from protobuf field: map<string, google.protobuf.Value> fields = 1
*/
fields: {
[key: string]: Value;
};
}
/**
* `Value` represents a dynamically typed value which can be either
* null, a number, a string, a boolean, a recursive struct value, or a
* list of values. A producer of value is expected to set one of these
* variants. Absence of any variant indicates an error.
*
* The JSON representation for `Value` is JSON value.
*
* @generated from protobuf message google.protobuf.Value
*/
interface Value {
/**
* The kind of value.
*
* @generated from protobuf oneof: kind
*/
kind: {
oneofKind: 'nullValue';
/**
* Represents a null value.
*
* @generated from protobuf field: google.protobuf.NullValue null_value = 1
*/
nullValue: NullValue;
} | {
oneofKind: 'numberValue';
/**
* Represents a double value.
*
* @generated from protobuf field: double number_value = 2
*/
numberValue: number;
} | {
oneofKind: 'stringValue';
/**
* Represents a string value.
*
* @generated from protobuf field: string string_value = 3
*/
stringValue: string;
} | {
oneofKind: 'boolValue';
/**
* Represents a boolean value.
*
* @generated from protobuf field: bool bool_value = 4
*/
boolValue: boolean;
} | {
oneofKind: 'structValue';
/**
* Represents a structured value.
*
* @generated from protobuf field: google.protobuf.Struct struct_value = 5
*/
structValue: Struct;
} | {
oneofKind: 'listValue';
/**
* Represents a repeated `Value`.
*
* @generated from protobuf field: google.protobuf.ListValue list_value = 6
*/
listValue: ListValue;
} | {
oneofKind: undefined;
};
}
/**
* `ListValue` is a wrapper around a repeated field of values.
*
* The JSON representation for `ListValue` is JSON array.
*
* @generated from protobuf message google.protobuf.ListValue
*/
interface ListValue {
/**
* Repeated field of dynamically typed values.
*
* @generated from protobuf field: repeated google.protobuf.Value values = 1
*/
values: Value[];
}
/**
* `NullValue` is a singleton enumeration to represent the null value for the
* `Value` type union.
*
* The JSON representation for `NullValue` is JSON `null`.
*
* @generated from protobuf enum google.protobuf.NullValue
*/
declare enum NullValue {
/**
* Null value.
*
* @generated from protobuf enum value: NULL_VALUE = 0;
*/
NULL_VALUE = 0
}
declare class Struct$Type extends MessageType<Struct> {
constructor();
/**
* Encode `Struct` to JSON object.
*/
internalJsonWrite(message: Struct, options: JsonWriteOptions): JsonValue;
/**
* Decode `Struct` from JSON object.
*/
internalJsonRead(json: JsonValue, options: JsonReadOptions, target?: Struct): Struct;
create(value?: PartialMessage<Struct>): Struct;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Struct): Struct;
private binaryReadMap1;
internalBinaryWrite(message: Struct, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.protobuf.Struct
*/
declare const Struct: Struct$Type;
declare class Value$Type extends MessageType<Value> {
constructor();
/**
* Encode `Value` to JSON value.
*/
internalJsonWrite(message: Value, options: JsonWriteOptions): JsonValue;
/**
* Decode `Value` from JSON value.
*/
internalJsonRead(json: JsonValue, options: JsonReadOptions, target?: Value): Value;
create(value?: PartialMessage<Value>): Value;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Value): Value;
internalBinaryWrite(message: Value, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.protobuf.Value
*/
declare const Value: Value$Type;
declare class ListValue$Type extends MessageType<ListValue> {
constructor();
/**
* Encode `ListValue` to JSON array.
*/
internalJsonWrite(message: ListValue, options: JsonWriteOptions): JsonValue;
/**
* Decode `ListValue` from JSON array.
*/
internalJsonRead(json: JsonValue, options: JsonReadOptions, target?: ListValue): ListValue;
create(value?: PartialMessage<ListValue>): ListValue;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListValue): ListValue;
internalBinaryWrite(message: ListValue, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.protobuf.ListValue
*/
declare const ListValue: ListValue$Type;
//#endregion
//#region src/proto/spiffe/workload/workload.d.ts
/**
* The X509SVIDRequest message conveys parameters for requesting an X.509-SVID.
* There are currently no request parameters.
*
* @generated from protobuf message X509SVIDRequest
*/
interface X509SVIDRequest {}
/**
* The X509SVIDResponse message carries X.509-SVIDs and related information,
* including a set of global CRLs and a list of bundles the workload may use
* for federating with foreign trust domains.
*
* @generated from protobuf message X509SVIDResponse
*/
interface X509SVIDResponse {
/**
* Required. A list of X509SVID messages, each of which includes a single
* X.509-SVID, its private key, and the bundle for the trust domain.
*
* @generated from protobuf field: repeated X509SVID svids = 1
*/
svids: X509SVID[];
/**
* Optional. ASN.1 DER encoded certificate revocation lists.
*
* @generated from protobuf field: repeated bytes crl = 2
*/
crl: Uint8Array[];
/**
* Optional. CA certificate bundles belonging to foreign trust domains that
* the workload should trust, keyed by the SPIFFE ID of the foreign trust
* domain. Bundles are ASN.1 DER encoded.
*
* @generated from protobuf field: map<string, bytes> federated_bundles = 3
*/
federatedBundles: {
[key: string]: Uint8Array;
};
}
/**
* The X509SVID message carries a single SVID and all associated information,
* including the X.509 bundle for the trust domain.
*
* @generated from protobuf message X509SVID
*/
interface X509SVID {
/**
* Required. The SPIFFE ID of the SVID in this entry
*
* @generated from protobuf field: string spiffe_id = 1
*/
spiffeId: string;
/**
* Required. ASN.1 DER encoded certificate chain. MAY include
* intermediates, the leaf certificate (or SVID itself) MUST come first.
*
* @generated from protobuf field: bytes x509_svid = 2
*/
x509Svid: Uint8Array;
/**
* Required. ASN.1 DER encoded PKCS#8 private key. MUST be unencrypted.
*
* @generated from protobuf field: bytes x509_svid_key = 3
*/
x509SvidKey: Uint8Array;
/**
* Required. ASN.1 DER encoded X.509 bundle for the trust domain.
*
* @generated from protobuf field: bytes bundle = 4
*/
bundle: Uint8Array;
/**
* Optional. An operator-specified string used to provide guidance on how this
* identity should be used by a workload when more than one SVID is returned.
* For example, `internal` and `external` to indicate an SVID for internal or
* external use, respectively.
*
* @generated from protobuf field: string hint = 5
*/
hint: string;
}
/**
* The X509BundlesRequest message conveys parameters for requesting X.509
* bundles. There are currently no such parameters.
*
* @generated from protobuf message X509BundlesRequest
*/
interface X509BundlesRequest {}
/**
* The X509BundlesResponse message carries a set of global CRLs and a map of
* trust bundles the workload should trust.
*
* @generated from protobuf message X509BundlesResponse
*/
interface X509BundlesResponse {
/**
* Optional. ASN.1 DER encoded certificate revocation lists.
*
* @generated from protobuf field: repeated bytes crl = 1
*/
crl: Uint8Array[];
/**
* Required. CA certificate bundles belonging to trust domains that the
* workload should trust, keyed by the SPIFFE ID of the trust domain.
* Bundles are ASN.1 DER encoded.
*
* @generated from protobuf field: map<string, bytes> bundles = 2
*/
bundles: {
[key: string]: Uint8Array;
};
}
/**
* @generated from protobuf message JWTSVIDRequest
*/
interface JWTSVIDRequest {
/**
* Required. The audience(s) the workload intends to authenticate against.
*
* @generated from protobuf field: repeated string audience = 1
*/
audience: string[];
/**
* Optional. The requested SPIFFE ID for the JWT-SVID. If unset, all
* JWT-SVIDs to which the workload is entitled are requested.
*
* @generated from protobuf field: string spiffe_id = 2
*/
spiffeId: string;
}
/**
* The JWTSVIDResponse message conveys JWT-SVIDs.
*
* @generated from protobuf message JWTSVIDResponse
*/
interface JWTSVIDResponse {
/**
* Required. The list of returned JWT-SVIDs.
*
* @generated from protobuf field: repeated JWTSVID svids = 1
*/
svids: JWTSVID[];
}
/**
* The JWTSVID message carries the JWT-SVID token and associated metadata.
*
* @generated from protobuf message JWTSVID
*/
interface JWTSVID {
/**
* Required. The SPIFFE ID of the JWT-SVID.
*
* @generated from protobuf field: string spiffe_id = 1
*/
spiffeId: string;
/**
* Required. Encoded JWT using JWS Compact Serialization.
*
* @generated from protobuf field: string svid = 2
*/
svid: string;
/**
* Optional. An operator-specified string used to provide guidance on how this
* identity should be used by a workload when more than one SVID is returned.
* For example, `internal` and `external` to indicate an SVID for internal or
* external use, respectively.
*
* @generated from protobuf field: string hint = 3
*/
hint: string;
}
/**
* The JWTBundlesRequest message conveys parameters for requesting JWT bundles.
* There are currently no such parameters.
*
* @generated from protobuf message JWTBundlesRequest
*/
interface JWTBundlesRequest {}
/**
* The JWTBundlesReponse conveys JWT bundles.
*
* @generated from protobuf message JWTBundlesResponse
*/
interface JWTBundlesResponse {
/**
* Required. JWK encoded JWT bundles, keyed by the SPIFFE ID of the trust
* domain.
*
* @generated from protobuf field: map<string, bytes> bundles = 1
*/
bundles: {
[key: string]: Uint8Array;
};
}
/**
* The ValidateJWTSVIDRequest message conveys request parameters for
* JWT-SVID validation.
*
* @generated from protobuf message ValidateJWTSVIDRequest
*/
interface ValidateJWTSVIDRequest {
/**
* Required. The audience of the validating party. The JWT-SVID must
* contain an audience claim which contains this value in order to
* succesfully validate.
*
* @generated from protobuf field: string audience = 1
*/
audience: string;
/**
* Required. The JWT-SVID to validate, encoded using JWS Compact
* Serialization.
*
* @generated from protobuf field: string svid = 2
*/
svid: string;
}
/**
* The ValidateJWTSVIDReponse message conveys the JWT-SVID validation results.
*
* @generated from protobuf message ValidateJWTSVIDResponse
*/
interface ValidateJWTSVIDResponse {
/**
* Required. The SPIFFE ID of the validated JWT-SVID.
*
* @generated from protobuf field: string spiffe_id = 1
*/
spiffeId: string;
/**
* Required. Claims contained within the payload of the validated JWT-SVID.
* This includes both SPIFFE-required and non-required claims.
*
* @generated from protobuf field: google.protobuf.Struct claims = 2
*/
claims?: Struct;
}
declare class X509SVIDRequest$Type extends MessageType<X509SVIDRequest> {
constructor();
create(value?: PartialMessage<X509SVIDRequest>): X509SVIDRequest;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: X509SVIDRequest): X509SVIDRequest;
internalBinaryWrite(message: X509SVIDRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message X509SVIDRequest
*/
declare const X509SVIDRequest: X509SVIDRequest$Type;
declare class X509SVIDResponse$Type extends MessageType<X509SVIDResponse> {
constructor();
create(value?: PartialMessage<X509SVIDResponse>): X509SVIDResponse;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: X509SVIDResponse): X509SVIDResponse;
private binaryReadMap3;
internalBinaryWrite(message: X509SVIDResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message X509SVIDResponse
*/
declare const X509SVIDResponse: X509SVIDResponse$Type;
declare class X509SVID$Type extends MessageType<X509SVID> {
constructor();
create(value?: PartialMessage<X509SVID>): X509SVID;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: X509SVID): X509SVID;
internalBinaryWrite(message: X509SVID, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message X509SVID
*/
declare const X509SVID: X509SVID$Type;
declare class X509BundlesRequest$Type extends MessageType<X509BundlesRequest> {
constructor();
create(value?: PartialMessage<X509BundlesRequest>): X509BundlesRequest;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: X509BundlesRequest): X509BundlesRequest;
internalBinaryWrite(message: X509BundlesRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message X509BundlesRequest
*/
declare const X509BundlesRequest: X509BundlesRequest$Type;
declare class X509BundlesResponse$Type extends MessageType<X509BundlesResponse> {
constructor();
create(value?: PartialMessage<X509BundlesResponse>): X509BundlesResponse;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: X509BundlesResponse): X509BundlesResponse;
private binaryReadMap2;
internalBinaryWrite(message: X509BundlesResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message X509BundlesResponse
*/
declare const X509BundlesResponse: X509BundlesResponse$Type;
declare class JWTSVIDRequest$Type extends MessageType<JWTSVIDRequest> {
constructor();
create(value?: PartialMessage<JWTSVIDRequest>): JWTSVIDRequest;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JWTSVIDRequest): JWTSVIDRequest;
internalBinaryWrite(message: JWTSVIDRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message JWTSVIDRequest
*/
declare const JWTSVIDRequest: JWTSVIDRequest$Type;
declare class JWTSVIDResponse$Type extends MessageType<JWTSVIDResponse> {
constructor();
create(value?: PartialMessage<JWTSVIDResponse>): JWTSVIDResponse;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JWTSVIDResponse): JWTSVIDResponse;
internalBinaryWrite(message: JWTSVIDResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message JWTSVIDResponse
*/
declare const JWTSVIDResponse: JWTSVIDResponse$Type;
declare class JWTSVID$Type extends MessageType<JWTSVID> {
constructor();
create(value?: PartialMessage<JWTSVID>): JWTSVID;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JWTSVID): JWTSVID;
internalBinaryWrite(message: JWTSVID, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message JWTSVID
*/
declare const JWTSVID: JWTSVID$Type;
declare class JWTBundlesRequest$Type extends MessageType<JWTBundlesRequest> {
constructor();
create(value?: PartialMessage<JWTBundlesRequest>): JWTBundlesRequest;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JWTBundlesRequest): JWTBundlesRequest;
internalBinaryWrite(message: JWTBundlesRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message JWTBundlesRequest
*/
declare const JWTBundlesRequest: JWTBundlesRequest$Type;
declare class JWTBundlesResponse$Type extends MessageType<JWTBundlesResponse> {
constructor();
create(value?: PartialMessage<JWTBundlesResponse>): JWTBundlesResponse;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JWTBundlesResponse): JWTBundlesResponse;
private binaryReadMap1;
internalBinaryWrite(message: JWTBundlesResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message JWTBundlesResponse
*/
declare const JWTBundlesResponse: JWTBundlesResponse$Type;
declare class ValidateJWTSVIDRequest$Type extends MessageType<ValidateJWTSVIDRequest> {
constructor();
create(value?: PartialMessage<ValidateJWTSVIDRequest>): ValidateJWTSVIDRequest;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ValidateJWTSVIDRequest): ValidateJWTSVIDRequest;
internalBinaryWrite(message: ValidateJWTSVIDRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message ValidateJWTSVIDRequest
*/
declare const ValidateJWTSVIDRequest: ValidateJWTSVIDRequest$Type;
declare class ValidateJWTSVIDResponse$Type extends MessageType<ValidateJWTSVIDResponse> {
constructor();
create(value?: PartialMessage<ValidateJWTSVIDResponse>): ValidateJWTSVIDResponse;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ValidateJWTSVIDResponse): ValidateJWTSVIDResponse;
internalBinaryWrite(message: ValidateJWTSVIDResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message ValidateJWTSVIDResponse
*/
declare const ValidateJWTSVIDResponse: ValidateJWTSVIDResponse$Type;
/**
* @generated ServiceType for protobuf service SpiffeWorkloadAPI
*/
declare const SpiffeWorkloadAPI: ServiceType;
//#endregion
//#region src/proto/spiffe/workload/workload.client.d.ts
/**
* ///////////////////////////////////////////////////////////////////////
* X509-SVID Profile
* ///////////////////////////////////////////////////////////////////////
*
* @generated from protobuf service SpiffeWorkloadAPI
*/
interface ISpiffeWorkloadAPIClient {
/**
* Fetch X.509-SVIDs for all SPIFFE identities the workload is entitled to,
* as well as related information like trust bundles and CRLs. As this
* information changes, subsequent messages will be streamed from the
* server.
*
* @generated from protobuf rpc: FetchX509SVID
*/
fetchX509SVID(input: X509SVIDRequest, options?: RpcOptions): ServerStreamingCall<X509SVIDRequest, X509SVIDResponse>;
/**
* Fetch trust bundles and CRLs. Useful for clients that only need to
* validate SVIDs without obtaining an SVID for themself. As this
* information changes, subsequent messages will be streamed from the
* server.
*
* @generated from protobuf rpc: FetchX509Bundles
*/
fetchX509Bundles(input: X509BundlesRequest, options?: RpcOptions): ServerStreamingCall<X509BundlesRequest, X509BundlesResponse>;
/**
* Fetch JWT-SVIDs for all SPIFFE identities the workload is entitled to,
* for the requested audience. If an optional SPIFFE ID is requested, only
* the JWT-SVID for that SPIFFE ID is returned.
*
* @generated from protobuf rpc: FetchJWTSVID
*/
fetchJWTSVID(input: JWTSVIDRequest, options?: RpcOptions): UnaryCall<JWTSVIDRequest, JWTSVIDResponse>;
/**
* Fetches the JWT bundles, formatted as JWKS documents, keyed by the
* SPIFFE ID of the trust domain. As this information changes, subsequent
* messages will be streamed from the server.
*
* @generated from protobuf rpc: FetchJWTBundles
*/
fetchJWTBundles(input: JWTBundlesRequest, options?: RpcOptions): ServerStreamingCall<JWTBundlesRequest, JWTBundlesResponse>;
/**
* Validates a JWT-SVID against the requested audience. Returns the SPIFFE
* ID of the JWT-SVID and JWT claims.
*
* @generated from protobuf rpc: ValidateJWTSVID
*/
validateJWTSVID(input: ValidateJWTSVIDRequest, options?: RpcOptions): UnaryCall<ValidateJWTSVIDRequest, ValidateJWTSVIDResponse>;
}
/**
* ///////////////////////////////////////////////////////////////////////
* X509-SVID Profile
* ///////////////////////////////////////////////////////////////////////
*
* @generated from protobuf service SpiffeWorkloadAPI
*/
declare class SpiffeWorkloadAPIClient implements ISpiffeWorkloadAPIClient, ServiceInfo {
private readonly _transport;
typeName: string;
methods: _protobuf_ts_runtime_rpc0.MethodInfo<any, any>[];
options: {
[extensionName: string]: _protobuf_ts_runtime0.JsonValue;
};
constructor(_transport: RpcTransport);
/**
* Fetch X.509-SVIDs for all SPIFFE identities the workload is entitled to,
* as well as related information like trust bundles and CRLs. As this
* information changes, subsequent messages will be streamed from the
* server.
*
* @generated from protobuf rpc: FetchX509SVID
*/
fetchX509SVID(input: X509SVIDRequest, options?: RpcOptions): ServerStreamingCall<X509SVIDRequest, X509SVIDResponse>;
/**
* Fetch trust bundles and CRLs. Useful for clients that only need to
* validate SVIDs without obtaining an SVID for themself. As this
* information changes, subsequent messages will be streamed from the
* server.
*
* @generated from protobuf rpc: FetchX509Bundles
*/
fetchX509Bundles(input: X509BundlesRequest, options?: RpcOptions): ServerStreamingCall<X509BundlesRequest, X509BundlesResponse>;
/**
* Fetch JWT-SVIDs for all SPIFFE identities the workload is entitled to,
* for the requested audience. If an optional SPIFFE ID is requested, only
* the JWT-SVID for that SPIFFE ID is returned.
*
* @generated from protobuf rpc: FetchJWTSVID
*/
fetchJWTSVID(input: JWTSVIDRequest, options?: RpcOptions): UnaryCall<JWTSVIDRequest, JWTSVIDResponse>;
/**
* Fetches the JWT bundles, formatted as JWKS documents, keyed by the
* SPIFFE ID of the trust domain. As this information changes, subsequent
* messages will be streamed from the server.
*
* @generated from protobuf rpc: FetchJWTBundles
*/
fetchJWTBundles(input: JWTBundlesRequest, options?: RpcOptions): ServerStreamingCall<JWTBundlesRequest, JWTBundlesResponse>;
/**
* Validates a JWT-SVID against the requested audience. Returns the SPIFFE
* ID of the JWT-SVID and JWT claims.
*
* @generated from protobuf rpc: ValidateJWTSVID
*/
validateJWTSVID(input: ValidateJWTSVIDRequest, options?: RpcOptions): UnaryCall<ValidateJWTSVIDRequest, ValidateJWTSVIDResponse>;
}
//#endregion
//#region src/index.d.ts
declare function createClient(baseURL?: string): SpiffeWorkloadAPIClient;
/**
* Utility function to parse a raw certificate. Can be used to convert the
* raw certificate into a PEM certificate:
*
* ```typescript
* const cert = parseCertificate(data)
* const pem = cert.toString('pem')
* ```
*
* **Note:** if you have a certificate bundle, use `parseCertificateBundle` instead, as
* this function will incorrectly parse bundles as a single certificate.
*
* @param data The raw data of the certificate
* @returns [X509Certificate](https://peculiarventures.github.io/x509/classes/X509Certificate.html)
* @see https://github.com/PeculiarVentures/x509
*/
declare function parseCertificate(data: Uint8Array): x509.X509Certificate;
/**
* Utility function to parse a certificate bundle. Can be used to convert the
* bundle into a PEM chain:
*
* ```typescript
* const certs = parseCertificateBundle(data)
* const pemChain = certs.toString('pem-chain')
* ```
*
* @param data The raw data of the certificate bundle
* @returns [X509Certificates](https://peculiarventures.github.io/x509/classes/X509Certificates.html)
* @see https://github.com/PeculiarVentures/x509
*/
declare function parseCertificateBundle(data: Uint8Array): x509.X509Certificates;
//#endregion
export { ISpiffeWorkloadAPIClient, JWTBundlesRequest, JWTBundlesResponse, JWTSVID, JWTSVIDRequest, JWTSVIDResponse, ListValue, NullValue, SpiffeWorkloadAPI, SpiffeWorkloadAPIClient, Struct, ValidateJWTSVIDRequest, ValidateJWTSVIDResponse, Value, X509BundlesRequest, X509BundlesResponse, X509SVID, X509SVIDRequest, X509SVIDResponse, createClient, parseCertificate, parseCertificateBundle };