Сведения о вопросе

DED

00:28, 4th August, 2020

Теги

.net   strongname   sn.exe    

sn.exe сбой с сообщением об ошибке отказано в доступе

Просмотров: 495   Ответов: 5

Я получаю сообщение об ошибке Access is Denied, когда использую инструмент strong name для создания нового ключа для подписи .NET assembly. Это прекрасно работает на машине Windows XP, но не работает на моей машине Vista.

PS C:\users\brian\Dev\Projects\BELib\BELib> sn -k keypair.snk

Microsoft (R) .NET Framework Strong Name Utility  Version 3.5.21022.8
Copyright (c) Microsoft Corporation.  All rights reserved.

Failed to generate a strong name key pair -- Access is denied.

Что вызывает эту проблему и как ее можно исправить?


Вы запускаете свой PowerShell или Командная строка как администратор? Я оказалось, что это первое место, чтобы смотрите пока не привыкнете к пользовательскому доступу Управление или путем поворота доступа пользователя Управление выключено.

Да, я пробовал запускать PS и обычную командную строку от имени администратора. Появляется то же самое сообщение об ошибке.



  Сведения об ответе

Chhiki

04:33, 27th August, 2020

Да я пробовал запустить PS и то обычная командная строка как администратор. То же самое сообщение об ошибке придумать.

Другим возможным решением может быть предоставление учетной записи пользователя доступа к контейнеру ключей, расположенному по адресам C:\Documents и Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys


  Сведения об ответе

PHPH

17:21, 2nd August, 2020

Просто чтобы немного обновить это: я столкнулся с той же проблемой на Vista. У моего локального пользователя на PC не было никаких проблем, но затем мы переключились на домен, и мой доменный пользователь (хотя и имеющий права локального администратора) получил "Access Denied". Я предоставил своим пользователям домена права доступа к C:\Users\All Users\Microsoft\Crypto\RSA\MachineKeys , и это исправило ситуацию.


  Сведения об ответе

ITSME

06:33, 18th August, 2020

Вы используете PowerShell или командную строку как администратор? Я обнаружил, что это первое место, где нужно искать,пока вы не привыкнете к управлению доступом пользователей или не отключите управление доступом пользователей.


  Сведения об ответе

appple

13:36, 2nd August, 2020

Почему бы не запустить Sysinternals Process Monitor тоже посмотреть, что вы можете увидеть, это первое, что я всегда делаю, когда получаю какое-либо сообщение об отказе в доступе?

http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx


  Сведения об ответе

davran

20:08, 20th August, 2020

Некоторые люди перестраивают свои машины, чтобы решить эту проблему, но она может быть решена путем предоставления пользователю доступа к ключевым контейнерам C:\Documents и Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys каждый контейнер, созданный с помощью sn.exe-i, находится в каталоге MachineKeys (если вы не укажете в другом месте). Контейнер ключей по умолчанию, используемый sn.exe, также находится в этом расположении.

В случае, если вы сбросите свой контейнер ключей на новый и забудете, где он находится.. вы можете сбросить контейнер ключей для утилиты строгих имен, используя sn.exe -c. Таким образом, если исправление доступа к учетной записи не работает, вы можете использовать альтернативное хранилище ключей, поэтому сброс может быть в порядке.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться