lib/awskeyring/validate.rb in awskeyring-1.9.2 vs lib/awskeyring/validate.rb in awskeyring-1.9.3

- old
+ new

@@ -1,7 +1,9 @@ # frozen_string_literal: true +require 'base64' + # Awskeyring Module, # gives you an interface to access keychains and items. module Awskeyring # Validation methods for Awskeyring module Validate @@ -25,10 +27,14 @@ # Validate an AWS Secret Key ID # # @param [String] aws_secret_access_key The aws_secret_access_key def self.secret_access_key(aws_secret_access_key) - raise 'Secret Access Key is not 40 chars' if aws_secret_access_key.length != 40 + begin + raise 'Invalid Secret Access Key' unless Base64.strict_decode64(aws_secret_access_key).length == 30 + rescue ArgumentError + raise 'Invalid Secret Access Key' + end aws_secret_access_key end # Validate an Users mfa ARN