mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-20 23:37:33 +09:00
Update NSS to 3.35-RTM
This commit is contained in:
parent
fe49ad404e
commit
66dd670b60
388 changed files with 39075 additions and 20752 deletions
|
|
@ -134,10 +134,10 @@ tls13_HkdfExpandLabel(PK11SymKey *prk, SSLHashType baseHash,
|
|||
* Label, plus HandshakeHash. If it's ever to small, the code will abort.
|
||||
*/
|
||||
PRUint8 info[256];
|
||||
PRUint8 *ptr = info;
|
||||
unsigned int infoLen;
|
||||
sslBuffer infoBuf = SSL_BUFFER(info);
|
||||
PK11SymKey *derived;
|
||||
const char *kLabelPrefix = "TLS 1.3, ";
|
||||
SECStatus rv;
|
||||
const char *kLabelPrefix = "tls13 ";
|
||||
const unsigned int kLabelPrefixLen = strlen(kLabelPrefix);
|
||||
|
||||
if (handshakeHash) {
|
||||
|
|
@ -170,29 +170,31 @@ tls13_HkdfExpandLabel(PK11SymKey *prk, SSLHashType baseHash,
|
|||
* - HkdfLabel.label is "TLS 1.3, " + Label
|
||||
*
|
||||
*/
|
||||
infoLen = 2 + 1 + kLabelPrefixLen + labelLen + 1 + handshakeHashLen;
|
||||
if (infoLen > sizeof(info)) {
|
||||
PORT_Assert(0);
|
||||
goto abort;
|
||||
rv = sslBuffer_AppendNumber(&infoBuf, keySize, 2);
|
||||
if (rv != SECSuccess) {
|
||||
return SECFailure;
|
||||
}
|
||||
|
||||
ptr = ssl_EncodeUintX(keySize, 2, ptr);
|
||||
ptr = ssl_EncodeUintX(labelLen + kLabelPrefixLen, 1, ptr);
|
||||
PORT_Memcpy(ptr, kLabelPrefix, kLabelPrefixLen);
|
||||
ptr += kLabelPrefixLen;
|
||||
PORT_Memcpy(ptr, label, labelLen);
|
||||
ptr += labelLen;
|
||||
ptr = ssl_EncodeUintX(handshakeHashLen, 1, ptr);
|
||||
if (handshakeHash) {
|
||||
PORT_Memcpy(ptr, handshakeHash, handshakeHashLen);
|
||||
ptr += handshakeHashLen;
|
||||
rv = sslBuffer_AppendNumber(&infoBuf, labelLen + kLabelPrefixLen, 1);
|
||||
if (rv != SECSuccess) {
|
||||
return SECFailure;
|
||||
}
|
||||
rv = sslBuffer_Append(&infoBuf, kLabelPrefix, kLabelPrefixLen);
|
||||
if (rv != SECSuccess) {
|
||||
return SECFailure;
|
||||
}
|
||||
rv = sslBuffer_Append(&infoBuf, label, labelLen);
|
||||
if (rv != SECSuccess) {
|
||||
return SECFailure;
|
||||
}
|
||||
rv = sslBuffer_AppendVariable(&infoBuf, handshakeHash, handshakeHashLen, 1);
|
||||
if (rv != SECSuccess) {
|
||||
return SECFailure;
|
||||
}
|
||||
PORT_Assert((ptr - info) == infoLen);
|
||||
|
||||
params.bExtract = CK_FALSE;
|
||||
params.bExpand = CK_TRUE;
|
||||
params.pInfo = info;
|
||||
params.ulInfoLen = infoLen;
|
||||
params.pInfo = SSL_BUFFER_BASE(&infoBuf);
|
||||
params.ulInfoLen = SSL_BUFFER_LEN(&infoBuf);
|
||||
paramsi.data = (unsigned char *)¶ms;
|
||||
paramsi.len = sizeof(params);
|
||||
|
||||
|
|
@ -211,20 +213,17 @@ tls13_HkdfExpandLabel(PK11SymKey *prk, SSLHashType baseHash,
|
|||
char labelStr[100];
|
||||
PORT_Memcpy(labelStr, label, labelLen);
|
||||
labelStr[labelLen] = 0;
|
||||
SSL_TRC(50, ("HKDF Expand: label=[TLS 1.3, ] + '%s',requested length=%d",
|
||||
SSL_TRC(50, ("HKDF Expand: label='tls13 %s',requested length=%d",
|
||||
labelStr, keySize));
|
||||
}
|
||||
PRINT_KEY(50, (NULL, "PRK", prk));
|
||||
PRINT_BUF(50, (NULL, "Hash", handshakeHash, handshakeHashLen));
|
||||
PRINT_BUF(50, (NULL, "Info", info, infoLen));
|
||||
PRINT_BUF(50, (NULL, "Info", SSL_BUFFER_BASE(&infoBuf),
|
||||
SSL_BUFFER_LEN(&infoBuf)));
|
||||
PRINT_KEY(50, (NULL, "Derived key", derived));
|
||||
#endif
|
||||
|
||||
return SECSuccess;
|
||||
|
||||
abort:
|
||||
PORT_SetError(SSL_ERROR_SYM_KEY_CONTEXT_FAILURE);
|
||||
return SECFailure;
|
||||
}
|
||||
|
||||
SECStatus
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue