lib/tpm/t_public.rb in tpm-key_attestation-0.8.0 vs lib/tpm/t_public.rb in tpm-key_attestation-0.9.0
- old
+ new
@@ -9,10 +9,11 @@
module TPM
# Section 12.2.4 in https://trustedcomputinggroup.org/wp-content/uploads/TPM-Rev-2.0-Part-2-Structures-01.38.pdf
class TPublic < BinData::Record
BYTE_LENGTH = 8
CURVE_TPM_TO_OPENSSL = { TPM::ECC_NIST_P256 => "prime256v1" }.freeze
+ RSA_KEY_DEFAULT_PUBLIC_EXPONENT = 2**16 + 1
class << self
alias_method :deserialize, :read
end
@@ -72,10 +73,10 @@
when TPM::ALG_RSASSA, TPM::ALG_RSAPSS, TPM::ALG_NULL
n = unique.buffer.value
if parameters.key_bits / BYTE_LENGTH == n.size
key = OpenSSL::PKey::RSA.new(parameters.key_bits.value)
- key.set_key(bn(n), nil, nil)
+ key.set_key(bn(n), bn(RSA_KEY_DEFAULT_PUBLIC_EXPONENT), nil)
key.public_key
end
end
end