I’m trying to generate an EC key and convert it to PEM format, but the output is not what I expected. **How to reproduce** Run this code: ``` require 'openssl' key = OpenSSL::PKey::EC.generate("prime256v1") puts key.to_pem ``` **What happens** The output looks incorrect/truncated. Example: ``` -----BEGIN EC PRIVATE KEY----- MCUCAQEEIL2oh0ec1uDeFFhc45+w3fngGxTTTSsTNOxVwYq3SQq8 -----END EC PRIVATE KEY----- ``` **What I expected** I expected a longer key. If I generate a key using OpenSSL on the command line, I get a much longer key. Example of valid key: ``` -----BEGIN EC PRIVATE KEY----- MHcCAQEEIN1SuMyzD5ImSlbdFflU6Ta7ksKVLJ4HPxl2nBgza9/QoAoGCCqGSM49 AwEHoUQDQgAEWySdTOUxUJdN4tINQnN1HPoPTFqi7WDbN23MXfTXffAYxMsgE3fC DccH87ZyGm8gnmzCywUnYFJ54i4tumW8OQ== -----END EC PRIVATE KEY----- ``` **About my environment** jruby-openssl version: `default: 0.15.0 java` JRuby version: `jruby 9.4.9.0 (3.1.4) 2024-11-04 547c6b150e OpenJDK 64-Bit Server VM 23.0.1 on 23.0.1 +jit [arm64-darwin]` JRE: ``` openjdk version "17.0.7" 2023-04-18 OpenJDK Runtime Environment Temurin-17.0.7+7 (build 17.0.7+7) OpenJDK 64-Bit Server VM Temurin-17.0.7+7 (build 17.0.7+7, mixed mode) ```
Activity
cpach commentedon Jan 10, 2025
Workaround for generating a key:
jcharaoui commentedon Jan 17, 2026
Related (duplicate of?): #257