2010-08-05 2 views
3

Как говорится в заголовке, кто-нибудь знает, как извлечь закрытый ключ из файла snk? Мы хотим использовать закрытый ключ из StrongName для целей шифрования. Я прочитал в:
http://msdn.microsoft.com/en-us/library/k5b5tt23(VS.80).aspx, что sn -o key.snk будет извлекать как частный, так и открытый ключ, если они существуют в файле, но я попробовал его и его только длинную строку в формате CSV без различия между частным ключом и что такое открытый ключ.Извлечение частного ключа из файла с сильным именем?

ответ

2

В документе Вы связываетесь, рядом с флагом -o, он говорит:

Если входной_файл содержит пару ключей с помощью закрытого ключа, закрытый ключ также извлекается.

Вы уверены, что является личным ключом в файле?

Вы можете запустить sn -p key.snk, чтобы получить открытый ключ, и сравнить его с выводом sn -o key.snk - если они одинаковы, ключ имеет только открытый ключ, если нет, то разница - это закрытый ключ.

+0

yep только что создал его следующим образом: sn -k key.snk. У сильных файлов имен всегда есть комманда public/private key, иначе она не будет работать для подписания сборок. – coding4fun

+0

@ user127954 - затем извлечь только открытый ключ и сравнить. См. Обновленный ответ. – Oded

+0

Хотя возможно, это будет боль, потому что опция -o возвращает байтовый массив, а -p возвращает строку тарабарщины :). Ну, я думаю, не так сложно, но мне нужно будет создать программу для ее чтения и преобразования в байтовый массив. Я удивлен, что нет документального способа вернуть закрытый ключ. – coding4fun