Windows regopenkey returned error code 5

Установлено: Windows Server 2008 R2 Standart x64 JRE(JDK) 1.7.0_13 КриптоПро CSP версия продукта 3.9.8227 (ядра СКЗИ 3.9.8001 КС2) (4.0 не разрешили админы - что-то там с сертификацией) КриптоПро...

Offline

mihmig

 


#1
Оставлено
:

31 мая 2016 г. 9:34:59(UTC)

mihmig

Статус: Активный участник

Группы: Участники

Зарегистрирован: 18.05.2016(UTC)
Сообщений: 112

Установлено:
Windows Server 2008 R2 Standart x64
JRE(JDK) 1.7.0_13
КриптоПро CSP версия продукта 3.9.8227 (ядра СКЗИ 3.9.8001 КС2) (4.0 не разрешили админы — что-то там с сертификацией)
КриптоПро JCP 1.0.54 (версию 2.0.38674 не установить, т.к. она не сертифицирована)
Текущий пользователь находится в группе Администраторы
Приложение запускается, но хранилища контейнеров не «открываются», в консоли такие сообщения:
При старте:

Код:


май 31, 2016 9:29:56 AM java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro/J/C/Ptools at root 0x80000002. Windows RegOpenKey(...) returned error code 5.
май 31, 2016 9:29:56 AM java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro/J/C/Pparams at root 0x80000002. Windows RegOpenKey(...) returned error code 5.
май 31, 2016 9:29:56 AM java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro/J/C/Pparams at root 0x80000002. Windows RegOpenKey(...) returned error code 5.
май 31, 2016 9:29:56 AM java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro/J/C/Pparams at root 0x80000002. Windows RegOpenKey(...) returned error code 5.
май 31, 2016 9:29:56 AM java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro/J/C/Pparams at root 0x80000002. Windows RegOpenKey(...) returned error code 5.
май 31, 2016 9:29:57 AM java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro/J/C/P/Key/Store/H/D/Image at root 0x80000002. Windows RegOpenKey(...) returned error code 5.
май 31, 2016 9:29:57 AM java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro/J/C/P/Key/Store/H/D/Image at root 0x80000002. Windows RegOpenKey(...) returned error code 5.
май 31, 2016 9:29:57 AM java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro/J/C/Ptools at root 0x80000002. Windows RegOpenKey(...) returned error code 5.
май 31, 2016 9:29:57 AM java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro/J/C/P/Key at root 0x80000002. Windows RegOpenKey(...) returned error code 5.
май 31, 2016 9:29:57 AM java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro/J/C/P/Key/Store/H/D/Image at root 0x80000002. Windows RegOpenKey(...) returned error code 5.
май 31, 2016 9:29:57 AM ru.CryptoPro.CAdES.tools.Utility initJCPAlgorithms
INFO: Replacement of BouncyCastle GOST algorithms.
май 31, 2016 9:29:57 AM java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro/J/C/Ptools/C/P/Verify at root 0x80000002. Windows RegOpenKey(...) returned error code 5.

В чём может быть дело?

Также вопрос:
Как так получилось, что разворачивание дерева папок должно осуществляется не одинарным кликом (как в миллионах других программ) а двойным кликом? (Об этом я
узнал в глубинах форума, сообщается ли это на платных курсах?)


Вверх


Offline

Евгений Афанасьев

 


#2
Оставлено
:

6 июня 2016 г. 9:44:54(UTC)

Евгений Афанасьев

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,740
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 647 раз в 610 постах

Здравствуйте.
Возможно, JCP был установлен не под управлением учетной записи администратора (см. руководство администратора admin.html в папке Doc дистрибутива).

Тех. поддержка
База знаний
Логирование JCP
Логирование JTLS
Тест JCP и сбор диаг. информации
Скачать JCP, JCSP и JTLS
Скачать Android CSP + SDK


Вверх


Offline

mihmig

 


#3
Оставлено
:

6 июня 2016 г. 10:45:36(UTC)

mihmig

Статус: Активный участник

Группы: Участники

Зарегистрирован: 18.05.2016(UTC)
Сообщений: 112

Нет, установка JCP производилась под учётной записью администратора (иначе бы не удалось записать jar-файлы в папку C:Program FilesJavajre7libext)
При установке не был установлен «считыватель типа Реестр» — может в этом проблема?


Вверх


Offline

Евгений Афанасьев

 


#4
Оставлено
:

6 июня 2016 г. 11:41:13(UTC)

Евгений Афанасьев

Статус: Сотрудник

Группы: Участники

Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,740
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 647 раз в 610 постах

Проверьте с помощью regedit, какими права обладает узел HKEY_LOCAL_MACHINESoftwareJavaSoftPrefs и HKEY_LOCAL_MACHINESoftwareJavaSoftPrefsru.

Тех. поддержка
База знаний
Логирование JCP
Логирование JTLS
Тест JCP и сбор диаг. информации
Скачать JCP, JCSP и JTLS
Скачать Android CSP + SDK


Вверх


Offline

mihmig

 


#5
Оставлено
:

6 июня 2016 г. 11:52:19(UTC)

mihmig

Статус: Активный участник

Группы: Участники

Зарегистрирован: 18.05.2016(UTC)
Сообщений: 112

Разрешение на чтение есть:
UserPostedImage

UserPostedImage

UserPostedImage

Быть может апплет, запущенный с правами обычного пользователя пытается открыть эти ключи с правами «на запись»?


Вверх


Offline

mihmig

 


#6
Оставлено
:

6 июня 2016 г. 12:04:16(UTC)

mihmig

Статус: Активный участник

Группы: Участники

Зарегистрирован: 18.05.2016(UTC)
Сообщений: 112

При запуске же «от имени администратора» (см. значок Far-manager-а — красный в таком случае)
Проблем в консоли нет:
UserPostedImage

Дополню ещё вопросом: почему при просмотре свойств сертификата на всех его свойствах стоит восклицательный знак?
(сертификат тестового корневого УЦ импортирован в хранилище сертификатов Java (PATH_TO_JRElibsecuritycacerts).


Вверх


Offline

mihmig

 


#7
Оставлено
:

10 июня 2016 г. 9:37:37(UTC)

mihmig

Статус: Активный участник

Группы: Участники

Зарегистрирован: 18.05.2016(UTC)
Сообщений: 112

В конспекте выступления пользователя maxdm на втором дне мастер-класса 01.08.2014
«Введение в прикладную криптографию на платформе MS Windows»? страница №9
написано «… для работы с ключами КриптоПро CSP необходим доступ не только на чтение, но и на изменение, поскольку при обращении к ключам происходит их перемаскирование»
Быть может в JCP те же корни проблемы?


Вверх

Пользователи, просматривающие эту тему

Guest

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

  • Remove From My Forums
  • Question

  • I have an application that stores the application database location in the registry under HKEY_LOCAL_MACHINESOFTWAREEasySoft. The VB6 application uses the registry API (RegOpenKey and RegQueryValue) to locate the database and works correctly on both XP and Vista. When run on Windows 7, the call to RegOpenKey fails returning an error code of 5 (access denied). The application install creates the registry entry with read access for all users. I have verified this happened on the windows 7 install using RegEdit. The entry is being created and the permission is being set to READ (same as in Vista and XP). To see if I could better understand the problem, I tried many unacceptable solutions including manually setting full control for all users, running the application as administrator and even turning off UAC. In every case, RegOpenKey returned error code 5 (getting access denied with user access control turned off seems impossible but this also failed). Any help, even suggestions about other things to check/test, would be greatly appreciated.

        Ken

Answers

  • Well, I finally figured out the problem. In the code example I downloaded (as with many others like http://www.codetoad.com/vb_modify_registry.asp) there was the constant ERROR_ACCESS_DENIED = 5 defined. While looking at potential issues with ADVAPI32.DLL, where the function I am call resides, I found another example with the constant ERROR_ACCESS_DENIED = 8 and another constant ERROR_CANTWRITE = 5 defined. When I changed my application to ignore ERROR_CANTWRITE, it now works correctly.

    I can understand adding a new return code since Windows 7 changed the access levels of this registry tree, but why change the meaning of an existing return value instead of adding a new one? And why not tell the development community what you did? One very simple note anywhere on the web and this would have been a 5 minute fix. Instead I spent many hours and wasted 2 weeks. Thanks for the great New Years present.

    And one final note, how come no one monitoring this Forum couldn’t provide any useful help? My initial explanation of the problem gave the critical clue (…returning and error code of 5 — access denied…). Did any of you even bother to check the error code?

        Ken

    • Proposed as answer by

      Sunday, January 3, 2010 6:53 PM

    • Marked as answer by
      Rong-Chun Zhang
      Monday, January 4, 2010 10:17 AM

I am having trouble opening a registry key with the RegOpenKeyEx function. The particular program I am writing installs fonts onto a computer, and they must be added to the registry to remain installed after a reboot. I am brand new to using the registry, so I have been looking much up, but I have run into a problem. Here is an example that shows the arguments I am sending to RegOpenKeyEx:

int main() {
    HKEY key;
    long code = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts", 0, KEY_ALL_ACCESS, &key);

    if(code != ERROR_SUCCESS) {
        std::cout << code << std::endl;
        return 1;
    }

RegCloseKey(key);
return 0;
}

The function returns 1 (ERROR_INVALID_FUNCTION). However, the following does work, and returns 0:

HKEY key;
RegOpenKeyEx(HKEY_LOCAL_MACHINE, NULL, 0, KEY_ALL_ACCESS, &key);

I do not know how to proceed, so any help would be greatly appreciated.

EDIT: I confirmed with regedit that the key does exist. It seems that if the second argument to RegOpenKeyEx is anything other than NULL, it returns error code 2.

EDIT 2: I have tried multiple solutions, including using the TEXT() function on the subkey and changing the access rights to KEY_SET_VALUE, but I still get the same error. I also tried using RegCreateKeyEx. Strangely, I still get error code 2, though sometimes I get error code 122 (ERROR_INSUFFICENT_BUFFER).

EDIT 3: I changed the error handling so it directly uses the return value of the function instead of GetLastError(). I now get error code 5 (ERROR_ACCESS_DENIED).

@dankurka

Originally reported on Google Code with ID 8253

Jul 10, 2013 10:14:00 AM java.util.prefs.WindowsPreferences <init>
WARNING: Could not open/create prefs root node SoftwareJavaSoftPrefs at root 0x80000002.
Windows RegCreateKeyEx(...) returned error code 5.
Compiling module app.app
[ERROR] Failure in unit cache map load.
java.util.concurrent.ExecutionException: java.lang.StackOverflowError
       at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
       at java.util.concurrent.FutureTask.get(Unknown Source)
       at com.google.gwt.dev.javac.PersistentUnitCache.awaitUnitCacheMapLoad(PersistentUnitCache.java:466)
       at com.google.gwt.dev.javac.PersistentUnitCache.find(PersistentUnitCache.java:391)
       at com.google.gwt.dev.javac.CompilationStateBuilder.addArchive(CompilationStateBuilder.java:365)
       at com.google.gwt.dev.ArchivePreloader.preloadArchives(ArchivePreloader.java:65)
       at com.google.gwt.dev.Precompile.precompile(Precompile.java:243)
       at com.google.gwt.dev.Precompile.precompile(Precompile.java:229)
       at com.google.gwt.dev.Precompile.precompile(Precompile.java:141)
       at com.google.gwt.dev.Compiler.run(Compiler.java:232)
       at com.google.gwt.dev.Compiler.run(Compiler.java:198)
       at com.google.gwt.dev.Compiler$1.run(Compiler.java:170)
       at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88)
       at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:82)
       at com.google.gwt.dev.Compiler.main(Compiler.java:177)
Caused by: java.lang.StackOverflowError

Reported by smithamohanan89 on 2013-07-10 04:49:34

@dankurka

I also have the registry error, although no subsequent exception is thrown in my case.
Reading on the Internet, I found out that this is due the fact that the GWT compiler
is trying to write in the Windows registry in HKEY_LOCAL_MACHINE, but it can't because
I haven't started it with Administrator privileges. Question is why I should need to.

Using GWT 2.4.0.

Reported by mauromol@tiscali.it on 2013-10-15 12:59:09

@dankurka

I had the same issue: GWT compiler error with java.util.prefs.WindowsPreferences.
If I run as Administrator, it thankfully works.  Why should I?  Also, I don't even
get a stack trace.
Prefs can't be written to some <user.home>.gwt file?

Reported by zoran3 on 2013-10-18 20:39:28

@dankurka

I'm also having the same issue, no admin right resulting in an ERROR saying it's a WARNING.

This breaks integration with other tools that see this proclaimed error as an error
and logically consider that the compilation failed because of that.

Reported by nicolas.hurion on 2014-03-27 08:56:12

@dankurka

The first WARNING refers to the registry permission problem.

The ERROR is a different issue, possibly caused by multiple running instances corrupting
the gwt-unitCache folder. I just have reproduced with same results (StackOverflowError).
Stopping all running GWT instances and removing the gwt-unitCache folder solved for
me.

Reported by forhecz.andras on 2014-03-27 15:27:19

@dankurka

The first warning is caused by the update check (GWT stores in the preferences when
it last checked for updates so it only checks at most once per day), but it uses Preferences.userNodeForPackage()
(which uses HKEY_CURRENT_USER) so I can't see a) why it'd need to run as Administrator
or with UAC turned off and b) what could be changed in GWT to workaround the issue.
I'd rather punt and say it's a JDK bug.

If it really is a problem for you, then disable the update check with the -XdisableUpdateCheck
command-line argument.

The exception from the original report is an unrelated issue, as pointed out in comment
#4.

Reported by t.broyer on 2014-03-28 10:07:16

  • Status changed: AsDesigned

@phansson

dankurka is correct. This is indeed a JDK bug.

The problem is in the source for java/util/prefs/WindowsPreferences.java from the JDK. Since both userNode and systemNode are declared static is means both of them will be created when the class is first loaded even if the systemNode is never directly referenced. A fix seems to have been committed on 2016-0613 and 2016-06-15, so we will have to wait until this filters into Java 8 or Java 9.

As far as I can tell there’s no workaround that can be implemented in the GWT compiler as this is not an exception, it is actually a logged warning from the JDK’s internal logger.

Problem

The IBM Identity Insight Visualizer is not launching. When looking at the error output, it displays:

WARNING: Could not create windows registry node SoftwareJavaSoftPrefscom at root 0x80000001. Windows RegCreateKeyEx(…) returned error code 5.

java.util.prefs.WindowsPreferences WindowsRegOpenKey1
WARNING: Trying to recreate Windows registry node SoftwareJavaSoftPrefscom at root 0x80000001.

java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node SoftwareJavaSoftPrefscom at root 0x80000001. Windows RegOpenKey(…) returned error code 2.

Cause

The Java Runtime Environment (JRE) path bit width specified for the Visualizer in the security.xml file was specified as 32 bit but the Operating System is 64 bit.

Resolving The Problem

Modify the security.xml file to point to the 64bit JRE.

1. Modify the security.xml file (located in $INSTALLDIR/ewas/pro/config/cells/DefaultCell:
(make a copy of the security.xml before modifying)

Search for the following line (look for the “jdbcLibPath” string):
<options xmi:id=»Property_1267653943709″ name=»jdbcLibPath» value=»/opt/IBM/db2/V9.7/lib» required=»false»/>

and change the directory path from “lib” to “lib64” (in bold below):
<options xmi:id=»Property_1267653943709″ name=»jdbcLibPath» value=»/opt/IBM/db2/V9.7/lib64» required=»false»/>

Notice the only change was adding the ’64’ to the ‘lib’ directory.

Save the changes and restart the Visualizer. The 64 bit JRE should be picked up now.

[{«Product»:{«code»:»SS2HSB»,»label»:»InfoSphere Identity Insight»},»Business Unit»:{«code»:»BU059″,»label»:»IBM Software w/o TPS»},»Component»:»—«,»Platform»:[{«code»:»PF033″,»label»:»Windows»}],»Version»:»8.0;8.1″,»Edition»:»»,»Line of Business»:{«code»:»LOB10″,»label»:»Data and AI»}}]


Offline

SlangID

 


#1
Оставлено
:

10 марта 2022 г. 11:45:15(UTC)

SlangID

Статус: Участник

Группы: Участники

Зарегистрирован: 10.03.2022(UTC)
Сообщений: 10
Мужчина
Российская Федерация

Сказал «Спасибо»: 2 раз

Добрый день!

Выполняю получение данных из отделённой подписи из файла sig через COM с помощью лицензионной КриптоПро CSP 4.0.xxxxx. Сервера времени нет.

Подписание выполняю так (в сокращённом виде):
Set oSigner = CreateObject(«CAdESCOM.CPSigner»)
Set oSigner.Certificate = oCert

Set SignedData = CreateObject(«CAdESCOM.CadesSignedData»)
SignedData.ContentEncoding = CAPICOM_BASE64_TO_BINARY
SignedData.Content = fileData ‘В Base64

signature = SignedData.SignCades(oSigner, CADES_BES, True, CAPICOM_ENCODE_BASE64)

Получение данных из подписи выполняю так (Другого способа не нашёл в COM):
signature = streamSig.ReadText() ‘данные из sig файла

Set SignedData = CreateObject(«CAdESCOM.CadesSignedData»)
SignedData.ContentEncoding = CAPICOM_BASE64_TO_BINARY
SignedData.Content = fileData

Call SignedData.VerifyCades(signature, CADES_BES, True)

Как результат, если серификаты которыми осуществлялась подпись не просрочены в SignedData.Signers заполняется параметрами, в том числе oSign.Certificate и oSign.SigningTime (oSign типа CAdESCOM.CPSigner). Но если сертификаты например просрочены, то oSign.Certificate заполняется, но oSign.SigningTime нет, даже если не считать уведомление о том что подпись не действительна.
При этом если выполнить
Call SignedData.Display()
открывается окно Windows, со всей необходимой информацией о подписях и сертификатах из sig файла.

Можно как-то иначе чем через Call SignedData.VerifyCades(signature, CADES_BES, True), заполнить данными SignedData.Signers, чтобы можно было прочитать достпные параметры, в том числе oSign.SigningTime, хоть и была она поставлена на основании данных локального ПК, где выполнялась подпись?

Мои попытки найти варинты данного решениея пока что не увенчались успехом.
Заранее спасибо за любую помощь и совет!

Находил объект CAdESSignature, но для COM такого похоже нет, а есть он на Java. Также вопрос, если выполнить получение этих данных на Java, нужна ли для этого лицензия КриптоПро JCP?


Вверх


Offline

SlangID

 


#2
Оставлено
:

10 марта 2022 г. 13:37:31(UTC)

SlangID

Статус: Участник

Группы: Участники

Зарегистрирован: 10.03.2022(UTC)
Сообщений: 10
Мужчина
Российская Федерация

Сказал «Спасибо»: 2 раз

Решил попробовать посмотреть атрибуты подписи, по результтам проверки, даже если сертифкат одного или всех подписавших просрочен.
В итоге обнаружил дату и время подписи в AuthenticatedAttributes2 подписи.

Set signers = SignedData.Signers

ForAll oSign In signers
For j = 1 To oSign.AuthenticatedAttributes2.count
Set oAttr = oSign.AuthenticatedAttributes2.item(j)
Print oAttr.oid.FriendlyName &{ — }& oAttr.oid.Value

If oAttr.oid.Value = «1.2.840.113549.1.9.5» Then
‘Дата/Время подписи
Print Cstr(oAttr.Value) ‘В этом месте ошибка. Причём не важно каким образом получаю параметр, любое обращение к Value, приводит к ошибке
‘CAdESCOM.CPAttribute.1: Встречено неверное значение тэга ASN1.

End If

Next
End ForAll

Что не так делаю и как получить значение атрибута и при необходимости расшифровать его?
На просторах сети и форума, пока не нашёл ответ.

Отредактировано пользователем 10 марта 2022 г. 13:38:29(UTC)
 | Причина: Не указана


Вверх


Offline

SlangID

 


#3
Оставлено
:

10 марта 2022 г. 13:52:36(UTC)

SlangID

Статус: Участник

Группы: Участники

Зарегистрирован: 10.03.2022(UTC)
Сообщений: 10
Мужчина
Российская Федерация

Сказал «Спасибо»: 2 раз

Можно было бы подумать, что в AuthenticatedAttributes2 на самом дле не заполнен параметр для oid 1.2.840.113549.9.5 (Время подписания), но если вызвать Call SignedData.Display(), отобразится оконо со свойствами подписи, где атрибут «Время подписания» заполнен.


Вверх


Offline

SlangID

 


#4
Оставлено
:

11 марта 2022 г. 3:46:51(UTC)

SlangID

Статус: Участник

Группы: Участники

Зарегистрирован: 10.03.2022(UTC)
Сообщений: 10
Мужчина
Российская Федерация

Сказал «Спасибо»: 2 раз

Решил перепроверить через ASN.1 Decoder (https://lapo.it/asn1js/) файл с подписями *.sig, вдруг всё таки нет там в атрибутах даты или она не там. Попробовал и дата оказалась на месте (см. рисунок).
Image 001.png (19kb) загружен 6 раз(а).

Получается дата и время на месте и OID соответствует (1.2.840.113549.1.9.5), но при попытке его получить через COM (КриптоПро 4.0.хххх) AuthenticatedAttributes2, выдаётся ошибка CAdESCOM.CPAttribute.1: Встречено неверное значение тэга ASN1.

Делаю вывод. В коде получения значения атрибута ошибка или есть какой-то способ получения про который ни где не написали.

Как всё таки корректно получить данный атрибут? Не писать же в самом деле ASN.1 декодер :).


Вверх


Offline

Санчир Момолдаев

 


#5
Оставлено
:

11 марта 2022 г. 6:30:24(UTC)

Санчир Момолдаев

Статус: Сотрудник

Группы: Модератор, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,002
Российская Федерация

Сказал(а) «Спасибо»: 83 раз
Поблагодарили: 212 раз в 204 постах

Добрый день!
через Com не выйдет.
далее берем только первого подписанта.

C#

Код:

            SignedCms cms = new SignedCms();
            cms.Decode(Convert.FromBase64String(sign));
            for (int i = 0; i < cms.SignerInfos[0].SignedAttributes.Count; i++)
            {
                if (cms.SignerInfos[0].SignedAttributes[i].Oid.Value == "1.2.840.113549.1.9.5")
                {
                    Pkcs9SigningTime pkcs9SigningTime = new Pkcs9SigningTime(cms.SignerInfos[0].SignedAttributes[i].Values[0].RawData);
                    Console.WriteLine(pkcs9SigningTime.SigningTime);
                }
            }

Java

Код:

        byte[] sign = (new Decoder()).decodeBuffer(new FileInputStream(fileName));
        CAdESSignature cAdESSignature = new CAdESSignature(sign, null, null);
        ASN1Primitive value = cAdESSignature
                .getCAdESSignerInfos()[0]
                .getSignerInfo()
                .getSignedAttributes()
                .get(new ASN1ObjectIdentifier("1.2.840.113549.1.9.5"))
                .getAttributeValues()[0]
                .toASN1Primitive();
        System.out.println(Time.getInstance(value).getTime());

N.B. время в UTC
P.S. для проверки файла подписи лицензия не нужна в JCP

Техническую поддержку оказываем тут
Наша база знаний


Вверх

thanks 1 пользователь поблагодарил Санчир Момолдаев за этот пост.

SlangID

оставлено 11.03.2022(UTC)


Offline

SlangID

 


#6
Оставлено
:

11 марта 2022 г. 13:04:51(UTC)

SlangID

Статус: Участник

Группы: Участники

Зарегистрирован: 10.03.2022(UTC)
Сообщений: 10
Мужчина
Российская Федерация

Сказал «Спасибо»: 2 раз

Спасибо, добрый человек!

Через комплект jar из Java CSP получилось реализовать получение Времени подписи по данному OID.

Немного только иначе, но суть та же. Ниже код в котором немного «разложил» получение каждого из объектов чтобы было понятнее на данном этапе и было ясно что необходимо подключить в проект. Может быть кому-то однажды пригодиться.

Код:

System.out.println("Прочитаем файл и декодируем!");
          FileInputStream file = new FileInputStream("D:\Sign\XXXXXXXXX.pdf.sig");
          
          byte[] sign = (new Decoder()).decodeBuffer(file);
          System.out.println("Декодировали!");
          System.out.println("Создадим CAdESSignature");
          CAdESSignature cAdESSignature = new CAdESSignature(sign, null, null);
          System.out.println("Создали!");
          
          System.out.println("Прочитаем информацию из подписи!");
          CAdESSigner[] signers = cAdESSignature.getCAdESSignerInfos();
          System.out.println("Подписантов = "+ String.valueOf(signers.length));
          for (int i=0; i<signers.length; i++) {
        	  System.out.println("Подписант "+ String.valueOf(i));
        	  AttributeTable attrTbl = signers[i].getSignerSignedAttributes();
        	  System.out.println("Получили таблицу атрибутов");
        	  Attribute attr = attrTbl.get(new ASN1ObjectIdentifier("1.2.840.113549.1.9.5"));
        	  System.out.println("Получили атрибут ");
        	  ASN1Encodable[] asn1Enc = attr.getAttributeValues();
        	  ASN1Primitive value = asn1Enc[0].toASN1Primitive();
        	  
        	  System.out.println(Time.getInstance(value).getTime());
          }

Вверх


Offline

SlangID

 


#7
Оставлено
:

11 марта 2022 г. 13:10:41(UTC)

SlangID

Статус: Участник

Группы: Участники

Зарегистрирован: 10.03.2022(UTC)
Сообщений: 10
Мужчина
Российская Федерация

Сказал «Спасибо»: 2 раз

Единственно, в процессе выполнения кода идёт обращение к записям реестра, видимо Java CSP это необходимо, и пишет в консоль предпреждения (см. ниже). Но Java CSP не устанавливал и не планируется ещё отдельно его ставить пользователям или на сервер. Jar-ы подключаются в проект как есть, плюс используется своя JVM, а не те которые ставятся в Windows.
Может можно что-то где передать как параметр, чтобы не было обращения в реестр?

Код:

мар 11, 2022 5:05:42 PM java.util.prefs.WindowsPreferences <init>
ПРЕДУПРЕЖДЕНИЕ: Could not create windows registry node SoftwareJavaSoftPrefsru at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
мар 11, 2022 5:05:42 PM java.util.prefs.WindowsPreferences WindowsRegOpenKey1
ПРЕДУПРЕЖДЕНИЕ: Trying to recreate Windows registry node SoftwareJavaSoftPrefsru at root 0x80000002.
мар 11, 2022 5:05:42 PM java.util.prefs.WindowsPreferences openKey
ПРЕДУПРЕЖДЕНИЕ: Could not open windows registry node SoftwareJavaSoftPrefsru at root 0x80000002. Windows RegOpenKey(...) returned error code 2.
мар 11, 2022 5:05:42 PM java.util.prefs.WindowsPreferences WindowsRegOpenKey1
ПРЕДУПРЕЖДЕНИЕ: Trying to recreate Windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro at root 0x80000002.
мар 11, 2022 5:05:42 PM java.util.prefs.WindowsPreferences openKey
ПРЕДУПРЕЖДЕНИЕ: Could not open windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro at root 0x80000002. Windows RegOpenKey(...) returned error code 2.
мар 11, 2022 5:05:42 PM java.util.prefs.WindowsPreferences WindowsRegOpenKey1
ПРЕДУПРЕЖДЕНИЕ: Trying to recreate Windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro/Ad/E/S at root 0x80000002.
мар 11, 2022 5:05:42 PM java.util.prefs.WindowsPreferences openKey
ПРЕДУПРЕЖДЕНИЕ: Could not open windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro/Ad/E/S at root 0x80000002. Windows RegOpenKey(...) returned error code 2.

Вверх


Offline

SlangID

 


#8
Оставлено
:

11 марта 2022 г. 13:17:27(UTC)

SlangID

Статус: Участник

Группы: Участники

Зарегистрирован: 10.03.2022(UTC)
Сообщений: 10
Мужчина
Российская Федерация

Сказал «Спасибо»: 2 раз

Также вопрос в продолжение темы.
Может известно, какие именно функции из каких dll можно было-бы подключить в проект на VB, чтобы провернуть тоже самое?

Приведу пример:

Код:

Declare Function SetWindowPosition Lib "user32.dll" Alias "SetWindowPos"(Byval hWnd As Long, Byval hWndInsertAfter As Long, Byval X As Integer, Byval Y As Integer, Byval w As Integer, Byval h As Integer, Byval uFlags As Long) As Integer
Declare Function SetCursorPosition Lib "user32.dll" Alias "SetCursorPos" (Byval x As Long, Byval y As Long) As Long

А дальше в коде уже можно воспользоваться данными функциями для дальнейшей работы.

Использовать то скорее всего нужно «cadescom.dll«. А вот что в ней, пока не понял, если подскажете или намекнёте, будет просто отлично.


Вверх


Offline

two_oceans

 


#9
Оставлено
:

11 марта 2022 г. 14:56:49(UTC)

two_oceans

Статус: Эксперт

Группы: Участники

Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,598
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 388 раз в 363 постах

Автор: SlangID Перейти к цитате

Также вопрос в продолжение темы.
Может известно, какие именно функции из каких dll можно было-бы подключить в проект на VB, чтобы провернуть тоже самое?
А дальше в коде уже можно воспользоваться данными функциями для дальнейшей работы.

Использовать то скорее всего нужно «cadescom.dll«. А вот что в ней, пока не понял, если подскажете или намекнёте, будет просто отлично.

Да, интересный вопрос. Однако, с учетом замечания выше «через Com не выйдет», то, полагаю, подключив cadescom.dll попадете на те же грабли. Ну в худшем случае конечно можно подключить asn1 библиотеки, так что подход не совсем уж безнадежный.


Вверх

thanks 1 пользователь поблагодарил two_oceans за этот пост.

SlangID

оставлено 11.03.2022(UTC)


Offline

Санчир Момолдаев

 


#10
Оставлено
:

11 марта 2022 г. 23:52:01(UTC)

Санчир Момолдаев

Статус: Сотрудник

Группы: Модератор, Участники
Зарегистрирован: 03.12.2018(UTC)
Сообщений: 1,002
Российская Федерация

Сказал(а) «Спасибо»: 83 раз
Поблагодарили: 212 раз в 204 постах

Автор: SlangID Перейти к цитате

Единственно, в процессе выполнения кода идёт обращение к записям реестра, видимо Java CSP это необходимо, и пишет в консоль предпреждения (см. ниже). Но Java CSP не устанавливал и не планируется ещё отдельно его ставить пользователям или на сервер. Jar-ы подключаются в проект как есть, плюс используется своя JVM, а не те которые ставятся в Windows.
Может можно что-то где передать как параметр, чтобы не было обращения в реестр?

Код:

мар 11, 2022 5:05:42 PM java.util.prefs.WindowsPreferences <init>
ПРЕДУПРЕЖДЕНИЕ: Could not create windows registry node SoftwareJavaSoftPrefsru at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.
мар 11, 2022 5:05:42 PM java.util.prefs.WindowsPreferences WindowsRegOpenKey1
ПРЕДУПРЕЖДЕНИЕ: Trying to recreate Windows registry node SoftwareJavaSoftPrefsru at root 0x80000002.
мар 11, 2022 5:05:42 PM java.util.prefs.WindowsPreferences openKey
ПРЕДУПРЕЖДЕНИЕ: Could not open windows registry node SoftwareJavaSoftPrefsru at root 0x80000002. Windows RegOpenKey(...) returned error code 2.
мар 11, 2022 5:05:42 PM java.util.prefs.WindowsPreferences WindowsRegOpenKey1
ПРЕДУПРЕЖДЕНИЕ: Trying to recreate Windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro at root 0x80000002.
мар 11, 2022 5:05:42 PM java.util.prefs.WindowsPreferences openKey
ПРЕДУПРЕЖДЕНИЕ: Could not open windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro at root 0x80000002. Windows RegOpenKey(...) returned error code 2.
мар 11, 2022 5:05:42 PM java.util.prefs.WindowsPreferences WindowsRegOpenKey1
ПРЕДУПРЕЖДЕНИЕ: Trying to recreate Windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro/Ad/E/S at root 0x80000002.
мар 11, 2022 5:05:42 PM java.util.prefs.WindowsPreferences openKey
ПРЕДУПРЕЖДЕНИЕ: Could not open windows registry node SoftwareJavaSoftPrefsru/Crypto/Pro/Ad/E/S at root 0x80000002. Windows RegOpenKey(...) returned error code 2.

видимо вы используете java8. там необходимо элевация прав до админа.либо хотябы раз запустить от админа. эти ошибки уйдут, но появятся другие. но их тоже можно решить.

попробуйте java10+ (java-csp-A) настройки будут в контексте пользователя

Техническую поддержку оказываем тут
Наша база знаний


Вверх

Пользователи, просматривающие эту тему

Guest

Быстрый переход
 

Вы не можете создавать новые темы в этом форуме.

Вы не можете отвечать в этом форуме.

Вы не можете удалять Ваши сообщения в этом форуме.

Вы не можете редактировать Ваши сообщения в этом форуме.

Вы не можете создавать опросы в этом форуме.

Вы не можете голосовать в этом форуме.

Name: rmT116609 Date: 10/31/2002

FULL PRODUCT VERSION :
java version «1.4.1»
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-b21)
Java HotSpot(TM) Client VM (build 1.4.1-b21, mixed mode)

FULL OPERATING SYSTEM VERSION :
Microsoft Windows 2000 [Version 5.00.2195] Service Pack 1

A DESCRIPTION OF THE PROBLEM :
Preferences nodes below the system and user root cannot be read by Windows restricted users.

It is possible to read registry keys at the system and user root itself (SoftwareJavaSoftPrefs), but not to access any keys below the root, because the Preferences.node() function always throws an exception, even when the node
already exists.

It should be possible for a restricted user to have read access to any Java Preference nodes stored for the system or the user, but not to change them. Windows allows read access to the registry for restricted users, but not write
access.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Compile source code provided.
2. Run program as a Windows standard user: it creates a node «test» in the Windows Registry and prints «value».
3. Run program as a Windows restricted user: error.

EXPECTED VERSUS ACTUAL BEHAVIOR :
I expected step 3 to print «value» as step 2, but I got an error.

ERROR MESSAGES/STACK TRACES THAT OCCUR :
28-Oct-2002 16:32:51 java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node SoftwareJavaSoftPrefs at root 0x
80000002. Windows RegOpenKey(…) returned error code 5.
Exception in thread «main» java.lang.SecurityException: Could not open windows r
egistry node SoftwareJavaSoftPrefs at root 0x80000002: Access denied
        at java.util.prefs.WindowsPreferences.openKey(Unknown Source)
        at java.util.prefs.WindowsPreferences.openKey(Unknown Source)
        at java.util.prefs.WindowsPreferences.<init>(Unknown Source)
        at java.util.prefs.WindowsPreferences.childSpi(Unknown Source)
        at java.util.prefs.AbstractPreferences.node(Unknown Source)
        at java.util.prefs.AbstractPreferences.node(Unknown Source)
        at Test.main(Test.java:7)

REPRODUCIBILITY :
This bug can be reproduced always.

———- BEGIN SOURCE ———-
import java.util.prefs.*;

public class Test
{
public static void main( String[] args )
{
Preferences prefs = Preferences.systemRoot().node( «test» );
System.out.println( prefs.get( «key», «value» ) );
}
}
———- END SOURCE ———-
(Review ID: 166333)
======================================================================

Name: rmT116609 Date: 10/31/2002

 DESCRIPTION OF THE PROBLEM :
When a user runs a java program that access the system preferences by using the following code:

    private static final Preferences systemPrefs;
    static {
        systemPrefs = Preferences.systemRoot().node
(«/my/system/pref»);
    }
a SecurityException is thrown from java.util.prefs.WindowsPreferences. Running the same code with administrator’s privilage is fine.

If accessing to system preferences is only limited to user with high previlages, it seriously deminishes the purpose of providing the API. I notice this problem has been reported in Java Discussion Forums
(http://forum.java.sun.com/thread.jsp? forum=31&thread=261679) with a 10 duke dollar reward. But I think a work around to the problem, if it exists, will be
contorted.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Run code with «user» previlage in windows 2000:

import java.util.prefs.Preferences;
public class Test {
    private static final Preferences systemPrefs;
    static {
        systemPrefs = Preferences.systemRoot().node
(«/my/system/pref»);
    }
    public static void main (String [] args) {}
}

You will get a java.lang.SecurityException.

2. Run same code with administrator’s privilage, everything
is fine.
3.

EXPECTED VERSUS ACTUAL BEHAVIOR :
Expected result: code runs fine by users in both
the «users» user group and the «administrators» user group.

Actual result: code runs only by users in
the «administrators» user group. code throws
SecurityException when run by a user in the «users» user
group.

ERROR MESSAGES/STACK TRACES THAT OCCUR :
E:javamy>whoami
test

E:javamy>java Test
Oct 31, 2002 6:13:07 AM java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node SoftwareJavaSoftPrefs at root
0x80000002. Windows RegOpenKey(…) returned error code 5.
Exception in thread «main» java.lang.ExceptionInInitializerError
Caused by: java.lang.SecurityException: Could not open windows registry node
SoftwareJavaSoftPrefs at root 0x80000002: Access denied
        at java.util.prefs.WindowsPreferences.openKey
(WindowsPreferences.java:477)
        at java.util.prefs.WindowsPreferences.openKey
(WindowsPreferences.java:449)
        at java.util.prefs.WindowsPreferences.<init>
(WindowsPreferences.java:372)
        at java.util.prefs.WindowsPreferences.childSpi
(WindowsPreferences.java:789)
        at java.util.prefs.AbstractPreferences.node
(AbstractPreferences.java:816)
        at java.util.prefs.AbstractPreferences.node
(AbstractPreferences.java:800)
        at Test.<clinit>(Test.java:5)

E:javamy>whoami
Administrator

E:javamy>java Test

E:javamy>

REPRODUCIBILITY :
This bug can be reproduced always.

———- BEGIN SOURCE ———-
import java.util.prefs.Preferences;
public class Test {
    private static final Preferences systemPrefs;
    static {
        systemPrefs = Preferences.systemRoot().node(«/my/system/pref»);
    }
    public static void main (String [] args) {}
}
———- END SOURCE ———-
(Review ID: 166468)
======================================================================

Name: rmT116609 Date: 11/01/2002

 DESCRIPTION OF THE PROBLEM :
Accessing an existing system preference by a user who is *not* in the administrator group results in a SecurityException. Using nodeExists: if the node does not exist in the system preferences
(HKEY_LOCAL_MACHINESOFTWAREJavaSoftPrefs) it returns false and everyone is happy. If the node does exist in the system preferences and the user is not in the administrator group, then Windows RegOpenKey returns an error and a SecurityException is thrown.

This is new to Java 1.4 as Preferences didn’t exist before it.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. As a user in the Administrators group create a system
preference (test/pref key=not value=working).
2. As a user *not* in the Administrator group
    Preferences prefs = Preferences.systemRoot();
    if ( prefs.nodeExists( «test/pref» ) ) {
        System.out.println( «test/pref node exists» );
    }
3. relax and enjoy the SecurityException

EXPECTED VERSUS ACTUAL BEHAVIOR :
Expected:
test/pref node exists

Reality:
Nov 1, 2002 8:41:48 AM java.util.prefs.WindowsPreferences
openKey
WARNING: Could not open windows registry node
SoftwareJavaSoftPrefs at root 0x80000002. Windows
RegOpenKey(…) returned error code 5.
java.lang.SecurityException: Could not open windows registry
node SoftwareJavaSoftPrefs at root 0x80000002: Access denied

ERROR MESSAGES/STACK TRACES THAT OCCUR :
Nov 1, 2002 8:41:48 AM java.util.prefs.WindowsPreferences openKey
WARNING: Could not open windows registry node SoftwareJavaSoftPrefs at root 0x
80000002. Windows RegOpenKey(…) returned error code 5.
java.lang.SecurityException: Could not open windows registry node SoftwareJavaS
oftPrefs at root 0x80000002: Access denied
        at java.util.prefs.WindowsPreferences.openKey(WindowsPreferences.java:477)
        at java.util.prefs.WindowsPreferences.openKey(WindowsPreferences.java:449)
        at java.util.prefs.WindowsPreferences.<init>(WindowsPreferences.java:372)
        at java.util.prefs.WindowsPreferences.childSpi(WindowsPreferences.java:789)
        at java.util.prefs.AbstractPreferences.node(AbstractPreferences.java:816)
        at java.util.prefs.AbstractPreferences.node(AbstractPreferences.java:796)
        at PrefsTest.main(PrefsTest.java:31)

REPRODUCIBILITY :
This bug can be reproduced always.

———- BEGIN SOURCE ———-
As Administrator:
import java.util.prefs.Preferences;
public class AdminAddPref {
    public static void main( String[] args ) {
        Preferences prefs = Preferences.systemRoot();
        prefs = prefs.node( «test/pref» );
        prefs.put( «not», «working» );
    }
}

As a non-administrator user:
import java.util.prefs.Preferences;
import java.util.prefs.BackingStoreException;
public class UserCheckPref {
    public static void main( String[] args ) throws BackingStoreException {
        Preferences prefs = Preferences.systemRoot();
        if ( prefs.nodeExists( «test/pref» ) ) {
            System.out.println( «Yes, it’s there» );
        } else {
            System.out.println( «No, it’s not» );
        }
    }
}
———- END SOURCE ———-

CUSTOMER WORKAROUND :
Add all users to the Administrators group.

(Review ID: 166548)
======================================================================


posted 9 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

Hello,

I do not have admin rights on my machine. I have written a simple java source code which trying to create a registry for RMI calls. But the code is breaking because of lack of admin rights. Is there any way through which i can create registry even if i have no admin rights?

Following is additional information :

Code snippet :

Exception : Jun 11, 2013 4:57:49 PM java.util.prefs.WindowsPreferences openKey

WARNING: Could not open windows registry node SoftwareJavaSoftPrefscomnecjpdianascopeprefs at root 0x80000002. Windows RegOpenKey(…) returned error code 5.

Exception in thread «main» java.lang.SecurityException: Could not open windows registry node SoftwareJavaSoftPrefscomnecjpdianascopeprefs at root 0x80000002: Access denied

at java.util.prefs.WindowsPreferences.openKey(WindowsPreferences.java:513)

at java.util.prefs.WindowsPreferences.openKey(WindowsPreferences.java:480)

at java.util.prefs.WindowsPreferences.openKey(WindowsPreferences.java:466)

at java.util.prefs.WindowsPreferences.putSpi(WindowsPreferences.java:612)

at java.util.prefs.AbstractPreferences.put(AbstractPreferences.java:251)

at com.nec.jp.dianascope.util.PreferencesUtil.setRmiPortPreference(PreferencesUtil.java:35)

at com.nec.jp.dianascope.CoreServer.main(CoreServer.java:5562)

Bartender

Posts: 3323


posted 9 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

Please UseCodeTags (← click) when posting code as it makes it easier for people to read your code. I’ve added them for you this time.

I don’t think this is related to RMI but rather to using the preferences api to store data in the registry. What does your PreferencesUtil class do?

Anu Gaur

Greenhorn

Posts: 11


posted 9 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

Hi,

Snippet for PreferencesUtil.java method — setRmiPortPreference()

So this is basically getting the node from system where in it is failing because of lack of admin rights. Is it correct?

Also, i tried by comment out of this method call, but still it failed on next line where in it is trying to create the registry.

Please suggest.


posted 9 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

Swastik

Tony Docherty

Bartender

Posts: 3323


posted 9 years ago

  • Mark post as helpful


  • send pies

    Number of slices to send:

    Optional ‘thank-you’ note:



  • Quote
  • Report post to moderator

So this is basically getting the node from system where in it is failing because of lack of admin rights. Is it correct?

That’s what it looks like to me.

Also, i tried by comment out of this method call, but still it failed on next line where in it is trying to create the registry.

You’ll need to post the full error message and stack trace you are getting for the new failure. The one you posted earlier is from using the preferences api.

Java: «1.4.2_06»
OS: Windows 2000
Prefedit: 0.6
Me: holyj1@fel.cvut.cz

Description:
PrefEdit won’t start because there is some problem
with registry. In my java application I had the same
problem — though the preferences got created in win.
registry, I couldn’t change them later on. Is it a
problem of registry permissions (but NetBeans, eclispe,
jEdit work OK and perhaps they use prefs. too) or of
st. else? Thanks!
**********
THE ERROR:
C:&gt; java -jar prefedit.jar
10.1.2005 13:18:16 java.util.prefs.WindowsPreferences
<init>
WARNING: Could not open/create prefs root node
SoftwareJavaSoftPrefs at root 0
x80000002. Windows RegCreateKeyEx(…) returned error
code 5.
10.1.2005 13:18:16 java.util.prefs.WindowsPreferences
WindowsRegOpenKey1
WARNING: Trying to recreate Windows registry node
SoftwareJavaSoftPrefs at roo
t 0x80000002.
10.1.2005 13:18:16 java.util.prefs.WindowsPreferences
openKey
WARNING: Could not open windows registry node
SoftwareJavaSoftPrefs at root 0x
80000002. Windows RegOpenKey(…) returned error code 2.
Exception in thread «main»
java.util.prefs.BackingStoreException: Could not open
windowsregistry node SoftwareJavaSoftPrefs at root
0x80000002.
at
java.util.prefs.WindowsPreferences.childrenNamesSpi(Unknown
Source)
at
java.util.prefs.AbstractPreferences.childrenNames(Unknown
Source)
at
de.jppietsch.prefedit.PreferencesTreeNode.<init>(PreferencesTreeNode.
java:58)
at
de.jppietsch.prefedit.RootTreeNode.<init>(RootTreeNode.java:43)
at
de.jppietsch.prefedit.PrefEditWindow.<init>(PrefEditWindow.java:154)
at
de.jppietsch.prefedit.PrefEdit.main(PrefEdit.java:60)

Понравилась статья? Поделить с друзьями:
  • Windows r win 7 ddk driver
  • Windows regcreatekeyex returned error code 5
  • Windows r professional edition что это
  • Windows red zone error remix скачать обои
  • Windows r professional edition windows находится в режиме уведомления