3using System.Threading.Tasks;
49 string[] Parts = Request.
SubPath.Split(
'/', StringSplitOptions.None);
50 if (Parts.Length != 3 || !
string.IsNullOrEmpty(Parts[0]))
56 string ReferenceId = Parts[1];
88 if (DateTime.UtcNow > Ref.
Expires)
117 string PreSign =
"/Vault/" + ReferenceId +
'/';
119 if (!KeyEndpoint.
Verify(Encoding.UTF8.GetBytes(PreSign), Signature))
Static class that does BASE64URL encoding (using URL and filename safe alphabet), as defined in RFC46...
static byte[] Decode(string Base64Url)
Converts a Base64URL-encoded string to its binary representation.
The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repe...
The server understood the request, but is refusing to fulfill it. Authorization will not help and the...
Represents an HTTP request.
string SubPath
Sub-path. If a resource is found handling the request, this property contains the trailing sub-path o...
Represets a response of an HTTP client request.
async Task SendResponse()
Sends the response back to the client. If the resource is synchronous, there's no need to call this m...
Task Return(Exception ex)
Returns an error to the client.
Base class for all synchronous HTTP resources. A synchronous resource responds within the method hand...
The server has not found anything matching the Request-URI. No indication is given of whether the con...
Abstract base class for Elliptic Curve endpoints.
bool Verify(byte[] Data, byte[] PublicKey, byte[] Signature)
Verifies a signature.
Static interface for database persistence. In order to work, a database provider has to be assigned t...
static async Task Update(object Object)
Updates an object in the database.
static async Task Delete(object Object)
Deletes an object in the database.
static Task< object > TryLoadObject(string CollectionName, object ObjectId)
Tries to load an object given its Object ID ObjectId and its collection name CollectionName .
This filter selects objects that conform to all child-filters provided.
This filter selects objects that have a named field equal to a given value.
Represents a named semaphore, i.e. an object, identified by a name, that allows single concurrent wri...
Static class of application-wide semaphores that can be used to order access to editable objects.
static async Task< Semaphore > BeginWrite(string Key)
Waits until the semaphore identified by Key is ready for writing. Each call to BeginWrite must be fo...
Contains an encrypted key for an agent.
Applies for a new Legal ID
Gets information from the Encrypted Vault.
Contains information about an item in the Vault.
string Account
Account name.
Contains a reference to a vault item.
bool Masked
If referenced vault item should be returned masked (true) or unmasked (false).
string Seed
Seed value used to generate key endpoint.
int UseCount
How many times the reference can be used.
string KeyId
ID of key used to sign the reference.
DateTime Expires
UTC Time when reference expires.
byte[] VaultId
ID given to the Vault item.
Access to secured vault storage via signed URLs.
bool AllowsGET
If the GET method is allowed.
override bool HandlesSubPaths
If the resource handles sub-paths.
async Task GET(HttpRequest Request, HttpResponse Response)
Executes the GET method on the resource.
override bool UserSessions
If the resource uses user sessions.
GET Interface for HTTP resources.