Skip to content

Commit 87d4971

Browse files
committed
avformat/tls_openssl: fix serial create
Signed-off-by: Jack Lau <[email protected]>
1 parent 7652d4a commit 87d4971

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

libavformat/tls_openssl.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,8 @@ static int openssl_gen_private_key(EVP_PKEY **pkey)
314314

315315
static int openssl_gen_certificate(EVP_PKEY *pkey, X509 **cert, char **fingerprint)
316316
{
317-
int ret = 0, serial, expire_day;
317+
int ret = 0, expire_day;
318+
uint64_t serial;
318319
const char *aor = "lavf";
319320
X509_NAME* subject = NULL;
320321

@@ -329,9 +330,8 @@ static int openssl_gen_certificate(EVP_PKEY *pkey, X509 **cert, char **fingerpri
329330
goto enomem_end;
330331
}
331332

332-
// According to RFC5280 4.1.2.2, The serial number MUST be a positive integer
333-
serial = (int)(av_get_random_seed() & 0x7FFFFFFF);
334-
if (ASN1_INTEGER_set(X509_get_serialNumber(*cert), serial) != 1) {
333+
serial = av_get_random_seed();
334+
if (ASN1_INTEGER_set_uint64(X509_get_serialNumber(*cert), serial) != 1) {
335335
av_log(NULL, AV_LOG_ERROR, "TLS: Failed to set serial, %s\n", ERR_error_string(ERR_get_error(), NULL));
336336
goto einval_end;
337337
}

0 commit comments

Comments
 (0)