diff --git a/Libraries/LibCrypto/PK/RSA.h b/Libraries/LibCrypto/PK/RSA.h index 1d3a074c756..ea0d12815e0 100644 --- a/Libraries/LibCrypto/PK/RSA.h +++ b/Libraries/LibCrypto/PK/RSA.h @@ -121,6 +121,10 @@ public: ErrorOr export_as_der() const { + if (m_prime_1.is_zero() || m_prime_2.is_zero()) { + return Error::from_string_literal("Cannot export private key without prime factors"); + } + ASN1::Encoder encoder; TRY(encoder.write_constructed(ASN1::Class::Universal, ASN1::Kind::Sequence, [&]() -> ErrorOr { TRY(encoder.write(0x00u)); // version