diff --git a/Module/Cmdlets/PIV/BuildYubiKeyPIVCertificateSigningRequest.cs b/Module/Cmdlets/PIV/BuildYubiKeyPIVCertificateSigningRequest.cs index ac26e3a..501d38a 100644 --- a/Module/Cmdlets/PIV/BuildYubiKeyPIVCertificateSigningRequest.cs +++ b/Module/Cmdlets/PIV/BuildYubiKeyPIVCertificateSigningRequest.cs @@ -65,7 +65,13 @@ protected override void ProcessRecord() CertificateRequest request; X509SignatureGenerator signer; - // get the metadata catch if fails + // This is only supported on firmware 5.3.0 and newer. + if (((YubiKeyDevice)YubiKeyModule._yubikey!).FirmwareVersion < new FirmwareVersion(5, 3, 0)) + { + throw new NotSupportedException("This feature requires firmware version 5.3.0 or newer."); + } + + // get the metadata catch if fails PivMetadata? metadata = null; PivPublicKey? publicKey = null; try @@ -162,7 +168,8 @@ protected override void ProcessRecord() } else { - WriteObject(requestSigned); + var csrObject = CertificateRequest.LoadSigningRequestPem(pemData.AsSpan(), HashAlgorithm, CertificateRequestLoadOptions.UnsafeLoadCertificateExtensions); + WriteObject(csrObject); } } WriteDebug("ProcessRecord in New-YubikeyPIVCSR");