← All compilation units

Flyology.Postgres.SCRAM

Description

Bare_From_Client_First

function Bare_From_Client_First (Message : String) return String
Parameters
Message
Return value

Base64_Decode

function Base64_Decode (Value : String) return Byte_Array
Parameters
Value
Return value

Base64_Encode

function Base64_Encode (Value : Byte_Array) return String
Parameters
Value
Return value

Byte_Array

subtype Byte_Array is SCRAM_Core.Byte_Array;

Client_Final_Message

function Client_Final_Message
  (Password                  : String;
   Bare_Client_First         : String;
   Server_First              : String;
   Client_Nonce              : String;
   Expected_Server_Signature : out Digest) return String
Parameters
Password
Bare_Client_First
Server_First
Client_Nonce
Expected_Server_Signature
Return value

Client_First_Bare

function Client_First_Bare (User, Nonce : String) return String
Parameters
User
Nonce
Return value

Client_First_Message

function Client_First_Message (User, Nonce : String) return String
Parameters
User
Nonce
Return value

Digest

subtype Digest is SCRAM_Core.Digest;

Make_Verifier_Raw

function Make_Verifier_Raw
  (Password   : String;
   Salt       : Byte_Array;
   Iterations : Positive := Minimum_Iterations) return String
Parameters
Password
Salt
Iterations
Return value

Maximum_Iterations

Maximum_Iterations : constant := 1_000_000;

Maximum_Message_Length

Maximum_Message_Length : constant := 4_096;

Mechanism

Mechanism : constant String := "SCRAM-SHA-256";

Minimum_Iterations

Minimum_Iterations : constant := 4_096;

Nonce_From_Client_First

function Nonce_From_Client_First (Message : String) return String
Parameters
Message
Return value

Parse_Verifier

function Parse_Verifier (Value : String) return Verifier

Raw means Password is used as its exact String octets. This routine deliberately does not claim or perform SASLprep.

Parameters
Value
Return value

Random_Nonce

function Random_Nonce return String
Return value

SCRAM_Error

SCRAM_Error : exception;

Server_First_Message

function Server_First_Message
  (Credential     : Verifier;
   Combined_Nonce : String) return String
Parameters
Credential
Combined_Nonce
Return value

To_Bytes

function To_Bytes (Value : String) return Byte_Array
Parameters
Value
Return value

To_String

function To_String (Value : Byte_Array) return String
Parameters
Value
Return value

Verifier

type Verifier is private;

Verify_Client_Final

procedure Verify_Client_Final
  (Credential        : Verifier;
   Bare_Client_First : String;
   Server_First      : String;
   Combined_Nonce    : String;
   Client_Final      : String;
   Server_Signature  : out Digest;
   Valid             : out Boolean)
Parameters
Credential
Bare_Client_First
Server_First
Combined_Nonce
Client_Final
Server_Signature
Valid

Verify_Server_Final

procedure Verify_Server_Final
  (Message : String; Expected_Server_Signature : Digest)
Parameters
Message
Expected_Server_Signature