mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-30 11:18:39 +09:00
51 lines
2.3 KiB
C
51 lines
2.3 KiB
C
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is PRIVATE to SSL.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef __tls13esni_h_
|
|
#define __tls13esni_h_
|
|
|
|
struct sslEsniKeysStr {
|
|
SECItem data; /* The encoded record. */
|
|
sslEphemeralKeyPair *privKey;
|
|
const char *dummySni;
|
|
PRCList keyShares; /* List of TLS13KeyShareEntry */
|
|
SECItem suites;
|
|
PRUint16 paddedLength;
|
|
PRUint64 notBefore;
|
|
PRUint64 notAfter;
|
|
};
|
|
|
|
SECStatus SSLExp_SetESNIKeyPair(PRFileDesc *fd,
|
|
SECKEYPrivateKey *privKey,
|
|
const PRUint8 *record, unsigned int recordLen);
|
|
|
|
SECStatus SSLExp_EnableESNI(PRFileDesc *fd, const PRUint8 *esniKeys,
|
|
unsigned int esniKeysLen, const char *dummySNI);
|
|
SECStatus SSLExp_EncodeESNIKeys(PRUint16 *cipherSuites, unsigned int cipherSuiteCount,
|
|
SSLNamedGroup group, SECKEYPublicKey *pubKey,
|
|
PRUint16 pad, PRUint64 notBefore, PRUint64 notAfter,
|
|
PRUint8 *out, unsigned int *outlen, unsigned int maxlen);
|
|
sslEsniKeys *tls13_CopyESNIKeys(sslEsniKeys *okeys);
|
|
void tls13_DestroyESNIKeys(sslEsniKeys *keys);
|
|
SECStatus tls13_ClientSetupESNI(sslSocket *ss);
|
|
SECStatus tls13_ComputeESNIKeys(const sslSocket *ss,
|
|
TLS13KeyShareEntry *entry,
|
|
sslKeyPair *keyPair,
|
|
const ssl3CipherSuiteDef *suite,
|
|
const PRUint8 *esniKeysHash,
|
|
const PRUint8 *keyShareBuf,
|
|
unsigned int keyShareBufLen,
|
|
const PRUint8 *clientRandom,
|
|
ssl3KeyMaterial *keyMat);
|
|
SECStatus tls13_FormatEsniAADInput(sslBuffer *aadInput,
|
|
PRUint8 *keyShare, unsigned int keyShareLen);
|
|
|
|
SECStatus tls13_ServerDecryptEsniXtn(const sslSocket *ss, PRUint8 *in, unsigned int inLen,
|
|
PRUint8 *out, int *outLen, int maxLen);
|
|
|
|
#endif
|