Я решил это с некоторыми строками кода, открыв файл, перейдя через него и добавив отступ, а затем снова сохранил его. Я работал с небольшими файлами xml и не хотел добавлять зависимости или больше библиотек для установки для пользователя. Во всяком случае, вот что я закончил с:
f = open(file_name,'r')
xml = f.read()
f.close()
#Removing old indendations
raw_xml = ''
for line in xml:
raw_xml += line
xml = raw_xml
new_xml = ''
indent = ' '
deepness = 0
for i in range((len(xml))):
new_xml += xml[i]
if(i<len(xml)-3):
simpleSplit = xml[i:(i+2)] == '><'
advancSplit = xml[i:(i+3)] == '></'
end = xml[i:(i+2)] == '/>'
start = xml[i] == '<'
if(advancSplit):
deepness += -1
new_xml += '\n' + indent*deepness
simpleSplit = False
deepness += -1
if(simpleSplit):
new_xml += '\n' + indent*deepness
if(start):
deepness += 1
if(end):
deepness += -1
f = open(file_name,'w')
f.write(new_xml)
f.close()
Это работает для меня, возможно, кто-то будет использовать его:)
Вот мои сценарии для того, чтобы сделать это:
, Создают самоподписанный сертификат (-r), с экспортным закрытым ключом (-pe), с помощью SHA1 (-r), для подписания (-подпись неба). Закрытый ключ записан в файл (-sv).
makecert -r -pe -n "CN=My Root Authority" -ss CA -sr CurrentUser ^
-a sha1 -sky signature -cy authority -sv CA.pvk CA.cer
(^ = позволяют пакетной командной строке переносить строку)
Сервера, Создают сертификат сервера, с экспортным закрытым ключом (-pe), с помощью SHA1 (-a) для ключевого обмена (-обмен неба). Это может использоваться в качестве сертификата сервера SSL (-eku 1.3.6.1.5.5.7.3.1). Сертификат издания находится в файле (-ic), как ключ (-iv). Используйте конкретного crypto поставщика (-SP, - sy).
makecert -pe -n "CN=fqdn.of.server" -a sha1 -sky Exchange ^
-eku 1.3.6.1.5.5.7.3.1 -ic CA.cer -iv CA.pvk ^
-sp "Microsoft RSA SChannel Cryptographic Provider" ^
-sy 12 -sv server.pvk server.cer
pvk2pfx -pvk server.pvk -spc server.cer -pfx server.pfx
Вы затем используете.PFX файл в своем приложении для сервера (или устанавливаете его в IIS). Обратите внимание, что, по умолчанию, pvk2pfx
не применяет пароль к выводу файл PFX. Необходимо использовать эти -po
переключатель для этого.
, Чтобы заставить все Ваши клиентские машины доверять ему, установить CA.cer в их хранилищах сертификатов (в Доверяемом Корневом хранилище полномочий). Если Вы находитесь на домене, можно использовать Windows Group Policy, чтобы сделать это глобально. В противном случае можно использовать certmgr.msc MMC snapin, или утилита командной строки certutil :
certutil -user -addstore Root CA.cer
, Чтобы программно установить сертификат в IIS 6.0 посмотрите эта статья Microsoft KB. Для IIS 7.0 я не знаю.
Вы должны добавить -cy Authority
к переключателям при создании центра сертификации, иначе некоторые хранилища сертификатов не увидят его как надлежащий CA.