{"record":{"id":"8f56aa1933c5c051","repo":"hashicorp/vagrant","slug":"curve-name-mismatched-curve-name-in-key-with","errorCode":null,"errorMessage":"curve name mismatched (`#{curve_name_in_key}' with `#{curve_name_in_type}')","messagePattern":"curve name mismatched \\(`#(.+?)' with `#(.+?)'\\)","errorType":"exception","errorClass":"Net::SSH::Exception","httpStatus":null,"severity":"error","filePath":"lib/vagrant/patches/net-ssh.rb","lineNumber":20,"sourceCode":"# SPDX-License-Identifier: BUSL-1.1\n\nrequire \"net/ssh\"\nrequire \"net/ssh/buffer\"\n\n# Set the version requirement for when net-ssh should be patched\nNET_SSH_PATCH_REQUIREMENT = Gem::Requirement.new(\">= 7.0.0\", \"<= 7.3\")\n\n# This patch provides support for properly loading ECDSA private keys\nif NET_SSH_PATCH_REQUIREMENT.satisfied_by?(Gem::Version.new(Net::SSH::Version::STRING))\n  Net::SSH::Buffer.class_eval do\n    def vagrant_read_private_keyblob(type)\n      case type\n      when /^ecdsa\\-sha2\\-(\\w*)$/\n        curve_name_in_type = $1\n        curve_name_in_key = read_string\n\n        unless curve_name_in_type == curve_name_in_key\n          raise Net::SSH::Exception, \"curve name mismatched (`#{curve_name_in_key}' with `#{curve_name_in_type}')\"\n        end\n\n        public_key_oct = read_string\n        priv_key_bignum = read_bignum\n        begin\n          curvename = OpenSSL::PKey::EC::CurveNameAlias[curve_name_in_key]\n          group = OpenSSL::PKey::EC::Group.new(curvename)\n          point = OpenSSL::PKey::EC::Point.new(group, OpenSSL::BN.new(public_key_oct, 2))\n          priv_bn = OpenSSL::BN.new(priv_key_bignum, 2)\n          asn1 = OpenSSL::ASN1::Sequence(\n            [\n              OpenSSL::ASN1::Integer.new(OpenSSL::BN.new(0)),\n              OpenSSL::ASN1::Sequence.new(\n                [\n                  OpenSSL::ASN1::ObjectId(\"id-ecPublicKey\"),\n                  OpenSSL::ASN1::ObjectId(curvename)\n                ]\n              ),","sourceCodeStart":2,"sourceCodeEnd":38,"githubUrl":"https://github.com/hashicorp/vagrant/blob/35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5/lib/vagrant/patches/net-ssh.rb#L2-L38","documentation":"Error \"curve name mismatched (`#{curve_name_in_key}' with `#{curve_name_in_type}')\" thrown in hashicorp/vagrant.","triggerScenarios":"Thrown at lib/vagrant/patches/net-ssh.rb:20 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"35f3160f4ad6edc3a9f3aa9570adfc1a4d73aaa5","analyzedAt":"2026-08-21T13:34:32.514Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}