pub struct FulcioClient { /* private fields */ }Expand description
Fulcio client for obtaining short-lived certificates
Fulcio is a WebPKI certificate authority that issues short-lived certificates based on OIDC identity tokens. These certificates are used for keyless signing.
Implementations§
Source§impl FulcioClient
impl FulcioClient
Sourcepub fn new() -> Self
pub fn new() -> Self
Create client with default Fulcio server
Uses the public Sigstore Fulcio instance at https://fulcio.sigstore.dev
§Certificate Pinning
Certificate pinning is ENFORCED by default using embedded pins for Sigstore
production infrastructure. Custom pins can be set via WSC_FULCIO_PINS.
Set WSC_REQUIRE_CERT_PINNING=1 to fail if pinning cannot be configured.
Sourcepub fn get_certificate(
&self,
oidc_token: &OidcToken,
public_key: &[u8],
proof_of_possession: &[u8],
) -> Result<FulcioCertificate, WSError>
pub fn get_certificate( &self, oidc_token: &OidcToken, public_key: &[u8], proof_of_possession: &[u8], ) -> Result<FulcioCertificate, WSError>
Request a certificate from Fulcio
§Arguments
oidc_token- OIDC identity token from a supported providerpublic_key- Raw ECDSA P-256 public key in uncompressed form (65 bytes: 0x04 || x || y)proof_of_possession- Signature proving key ownership (DER-encoded ECDSA signature)
§Returns
A FulcioCertificate containing the certificate chain and public key
§Errors
Returns WSError::FulcioError if:
- The HTTP request fails
- The response cannot be parsed
- The certificate chain is invalid
- The public key cannot be extracted
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FulcioClient
impl !RefUnwindSafe for FulcioClient
impl Send for FulcioClient
impl Sync for FulcioClient
impl Unpin for FulcioClient
impl !UnwindSafe for FulcioClient
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more