Package uk.ac.starlink.auth

# Class X509IvoaAuthScheme

java.lang.Object
uk.ac.starlink.auth.IvoaAuthScheme
uk.ac.starlink.auth.X509IvoaAuthScheme

All Implemented Interfaces:
  `AuthScheme`

public class X509IvoaAuthScheme extends IvoaAuthScheme
IvoaAuthScheme concrete subclass for working with X509 certificates.

This implements the "ivoa_x509" scheme. An X509 certificate is retrieved from the login URL in PEM format and used for subsequent HTTPS connections.

Since:
  6 May 2022
Author:
  Mark Taylor

## Nested Class Summary

## Nested classes/interfaces inherited from class uk.ac.starlink.auth.IvoaAuthScheme

`IvoaAuthScheme.AuthReader<T>`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final X509IvoaAuthScheme`
`INSTANCE`
Singleton instance.
`static final String`
`SCHEME_NAME`
Name and identifier for this scheme ("ivoa_x509").

### Fields inherited from class uk.ac.starlink.auth.IvoaAuthScheme

`ACCESSURL_PARAM, STANDARDID_PARAM`

## Method Summary

Modifier and Type
Method
Description
`ContextFactory`
`createContextFactory(LoginProtocol loginProto, URL loginUrl, URL challengeUrl)`
Creates a ContextFactory for this scheme with a given login protocol instance.

### Methods inherited from class uk.ac.starlink.auth.IvoaAuthScheme

`createContextFactory, getName, getSuccessResponse, readAuth`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### INSTANCE

public static final X509IvoaAuthScheme INSTANCE
Singleton instance.

### SCHEME_NAME

public static final String SCHEME_NAME
Name and identifier for this scheme ("ivoa_x509").

See Also:
  - Constant Field Values

## Method Details

### createContextFactory

public ContextFactory createContextFactory(LoginProtocol loginProto, URL loginUrl, URL challengeUrl)
Description copied from class: `IvoaAuthScheme`
Creates a ContextFactory for this scheme with a given login protocol instance. The return value should generally not be null, since if it's got as far as this call, the challenge looks like it's intended for this scheme.

Specified by:
  `createContextFactory` in class `IvoaAuthScheme`
Parameters:
  `loginProto` - login protocol
  `loginUrl` - login URL
  `challengeUrl` - URL from which the challenge was received
Returns:
  context factory