Unable to signed JWT from keys openssl_sign param not considered private key

I generated JWT tokens using an online tool and details are as below

  $keyDATA = [
        
        "p" => "ABC......DEF",
        "kty"=>  "RSA",
        "q"=>  "Keoa......ABCD",
        "d"=>  "adEEDS.....32234",
        "e"=>  "AQAB",
        "kid"=>  "ABDEFCD",
        "qi"=>  "ABC....DEF",
        "dp"=>  "ABC....DEF",
        "alg"=>  "RS256",
        "dq"=>  "ABC...DEF",
        "n"=>  "ABC...DEF" ];

I am using Firebase JWT above credentials to generate a signed JWT

$jwt = JWT::encode($jwtPayload, $keyDATA[‘d’], ‘RS256’);

However I am receiving this error

openssl_sign(): supplied key param cannot be coerced into a private
key

What am I doing wrong.