Skip to content

Commit 5e825a6

Browse files
committed
librustls: add RUSTLS_RESULT_CERT_UNSUPPORTED_SIGNATURE_ALGORITHM
Adds a new `rustls_result` matching the new upstream `CertificateError::UnsupportedSignatureAlgorithm`.
1 parent 7068342 commit 5e825a6

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

librustls/src/error.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,8 @@ u32_enum_builder! {
106106
CertApplicationVerificationFailure => 7130,
107107
CertOtherError => 7131,
108108
CertUnknownRevocationStatus => 7154,
109-
CertExpiredRevocationList => 7156, // Last added.
109+
CertExpiredRevocationList => 7156,
110+
CertUnsupportedSignatureAlgorithm => 7157, // Last added.
110111

111112
// From InvalidMessage, with fields that get flattened.
112113
// https://docs.rs/rustls/0.21.0/rustls/enum.Error.html#variant.InvalidMessage
@@ -341,6 +342,9 @@ impl Display for rustls_result {
341342
}
342343
CertUnknownIssuer => Error::InvalidCertificate(CertificateError::UnknownIssuer).fmt(f),
343344
CertBadSignature => Error::InvalidCertificate(CertificateError::BadSignature).fmt(f),
345+
CertUnsupportedSignatureAlgorithm => {
346+
Error::InvalidCertificate(CertificateError::UnsupportedSignatureAlgorithm).fmt(f)
347+
}
344348
CertNotValidForName => {
345349
Error::InvalidCertificate(CertificateError::NotValidForName).fmt(f)
346350
}
@@ -740,6 +744,7 @@ fn map_invalid_certificate_error(err: CertificateError) -> rustls_result {
740744
CertificateError::ExpiredRevocationList
741745
| CertificateError::ExpiredRevocationListContext { .. } => CertExpiredRevocationList,
742746
CertificateError::BadSignature => CertBadSignature,
747+
CertificateError::UnsupportedSignatureAlgorithm => CertUnsupportedSignatureAlgorithm,
743748
CertificateError::NotValidForName | CertificateError::NotValidForNameContext { .. } => {
744749
CertNotValidForName
745750
}

librustls/src/rustls.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ enum rustls_result {
9090
RUSTLS_RESULT_CERT_OTHER_ERROR = 7131,
9191
RUSTLS_RESULT_CERT_UNKNOWN_REVOCATION_STATUS = 7154,
9292
RUSTLS_RESULT_CERT_EXPIRED_REVOCATION_LIST = 7156,
93+
RUSTLS_RESULT_CERT_UNSUPPORTED_SIGNATURE_ALGORITHM = 7157,
9394
RUSTLS_RESULT_MESSAGE_HANDSHAKE_PAYLOAD_TOO_LARGE = 7133,
9495
RUSTLS_RESULT_MESSAGE_INVALID_CCS = 7134,
9596
RUSTLS_RESULT_MESSAGE_INVALID_CONTENT_TYPE = 7135,

0 commit comments

Comments
 (0)