включая пробелы при использовании %w

Определенные атрибуты для полей субъекта и эмитента в сертификате определяются в МСЭ X.520 .

Не определен пункт «необязательное название компании».

Я думаю, что вы имеете в виду тип атрибута «Название организации». Это определяется именем LDAP «O».

В вашем примере:

"/ C = GB / ST = Лондон / L = Лондон / O = XYZ / OU = XYZ UK / CN = $ domain / emailAddress = some @ some. com / challengePassword = strongpass / optionCompanyName = PROBLEM "

blockquote>

Это" / O = XYZ ", поэтому" Организация "(или название компании) -" XYZ ".

Обновление:

После прочтения я вижу, откуда вы, потому что я никогда не сталкивался с этим:

"Необязательное название компании: "is" unstructuredName ".

«unstructuredName» и «challengePassword» является частью только запроса сертификата. Так что это НЕ часть предмета. Поэтому вы не должны использовать «/ challengePassword = strongpass» в строке темы.

Вы можете увидеть это в файле openssl.conf по умолчанию:

[ req ]
attributes      = req_attributes

[ req_attributes ]
challengePassword       = A challenge password
challengePassword_min       = 4
challengePassword_max       = 20
unstructuredName        = An optional company name

Атрибуты Req игнорируются большинством CA. См. Примечание в документации OpenSSL :

атрибутов

, здесь указывается раздел, содержащий любые атрибуты запроса: его формат такой же, как имя_различенного , Обычно они могут содержать типы challengePassword или unstructuredName. В настоящее время они игнорируются утилитами подписывания запросов OpenSSL, но некоторые центры сертификации могут их захотеть.

blockquote>

В настоящее время openssl не предоставляет никакого способа установить req attrbutes из командной строки. Таким образом, единственный способ сделать это с помощью настраиваемого файла conf с установленными атрибутами.

Если вам нужно сделать это, я бы создал файл conf с приглашением, установленным на «no», и использовал параметр -conf openssl. Обратите внимание, что формат немного меняется, когда вы устанавливаете подсказку на «нет».

Так как атрибуты req скорее всего игнорируются, я бы не стал их задавать.

6
задан 12 February 2009 в 22:53
поделиться

4 ответа

a = ["xyz"].split("").join(" ")

или

a = ["x","y","z"].join(" ")

или

a = %w(x y z).join(" ")
2
ответ дан 9 December 2019 в 22:40
поделиться

Можно включать пробелы выходом обратной косой черты их (затем добавление дополнительного пространства как разделитель).

a = %w{x\  y\  z\ }

Это может стать твердым читать все же. Если Вы хотите поместить явные кавычки там, Вам не нужно %w{}, просто используйте нормальный разграниченный запятой массив с [].

6
ответ дан 9 December 2019 в 22:40
поделиться

Не использовать %w для этого - это - ярлык для того, когда Вы хотите разделить массив от слов. Иначе используйте стандартную нотацию массива:

a = ["x ", "y ", "z "]
3
ответ дан 9 December 2019 в 22:40
поделиться
def explain
  puts "double quote equivalents"
  p "a b c", %Q{a b c}, %Q(a b c), %(a b c), %<a b c>, %!a b c! # & etc
  puts

  puts "single quote equivalents"
  p 'a b c', %q{a b c}, %q(a b c), %q<a b c>, %q!a b c! # & etc.
  puts

  puts "single-quote whitespace split equivalents"
  p %w{a b c}, 'a b c'.split, 'a b c'.split(" ")
  puts

  puts "double-quote whitespace split equivalents"
  p %W{a b c}, "a b c".split, "a b c".split(" ")
  puts
end

explain

def extra_credit
  puts "Extra Credit"
  puts

  test_class = Class.new do
    def inspect() 'inspect was called' end
    def to_s() 'to_s was called' end
  end

  puts "print"
  print test_class.new
  puts "(print calls to_s and doesn't add a newline)"
  puts

  puts "puts"
  puts test_class.new
  puts "(puts calls to_s and adds a newline)"
  puts

  puts "p"
  p test_class.new
  puts "(p calls inspect and adds a newline)"
  puts
end

extra_credit
0
ответ дан 9 December 2019 в 22:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: