我试图在gerrit中配置LDAP身份验证设置,并从secure.config文件中加密/解密LDAP密码,我使用了secure-config插件。然后将该插件放在$ gerrit / path / lib下,并在gerrit.config文件中添加了一行
[gerrit]
secureStoreClass = com.googlesource.gerrit.plugins.secureconfig.SecureConfigStore
遵循https://gerrit.googlesource.com/plugins/secure-config/
的说明然后我进行了初始化(java -jar gerrit-war-2.13.7.war init -d gerrit),并在输入LDAP密码后出现以下错误... 尝试使用master和stable-2.13 secure-config插件
com.googlesource.gerrit.plugins.secureconfig.PBECodec出现错误:decode()失败 javax.crypto.IllegalBlockSizeException:使用填充密码解密时,输入长度必须是8的倍数。
在com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:936)
在com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:847)
在com.sun.crypto.provider.PBES1Core.doFinal(PBES1Core.java:416)
atcom.sun.crypto.provider.PBEWithMD5AndDESCipher.engineDoFinal(PBEWithMD5AndDESCipher.java:316)
在javax.crypto.Cipher.doFinal(Cipher.java:2164)
com.googlesource.gerrit.plugins.secureconfig.PBECodec.decode(PBECodec.java:76)
com.googlesource.gerrit.plugins.secureconfig.Codec $ 1.apply(Codec.java:24)
com.googlesource.gerrit.plugins.secureconfig.Codec $ 1.apply(Codec.java:21)
在com.google.common.collect.Iterators $ 8.transform(Iterators.java:817)
atcom.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
com.google.common.collect.Iterators.addAll(Iterators.java:365)
在com.google.common.collect.Lists.newArrayList(Lists.java:162)
在com.google.common.collect.Iterables.toCollection(Iterables.java:336)
com.google.common.collect.Iterables.toArray(Iterables.java:309)
com.google.common.collect.FluentIterable.toArray(FluentIterable.java:647)
atcom.googlesource.gerrit.plugins.secureconfig.SecureConfigStore.getList(SecureConfigStore.java:60)
在com.google.gerrit.server.securestore.SecureStore.get(SecureStore.java:70)
com.google.gerrit.pgm.init.api.Section.getSecure(Section.java:193)
com.google.gerrit.pgm.init.InitAuth.run(InitAuth.java:59)
atcom.google.gerrit.pgm.init.SitePathInitializer.run(SitePathInitializer.java:92)
com.google.gerrit.pgm.init.BaseInit.run(BaseInit.java:129)
com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:64)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在java.lang.reflect.Method.invoke(Method.java:498)
atcom.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:163)
在com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:104)
在com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:59)
在Main.main(Main.java:25) 线程“主”中的异常java.lang.IllegalArgumentException:encode()失败
com.googlesource.gerrit.plugins.secureconfig.PBECodec.decode(PBECodec.java:81)
com.googlesource.gerrit.plugins.secureconfig.Codec $ 1.apply(Codec.java:24)
com.googlesource.gerrit.plugins.secureconfig.Codec $ 1.apply(Codec.java:21)
在com.google.common.collect.Iterators $ 8.transform(Iterators.java:817)
atcom.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
com.google.common.collect.Iterators.addAll(Iterators.java:365)
在com.google.common.collect.Lists.newArrayList(Lists.java:162)
在com.google.common.collect.Iterables.toCollection(Iterables.java:336)
com.google.common.collect.Iterables.toArray(Iterables.java:309)
com.google.common.collect.FluentIterable.toArray(FluentIterable.java:647)
atcom.googlesource.gerrit.plugins.secureconfig.SecureConfigStore.getList(SecureConfigStore.java:60)
在com.google.gerrit.server.securestore.SecureStore.get(SecureStore.java:70)
com.google.gerrit.pgm.init.api.Section.getSecure(Section.java:193)
com.google.gerrit.pgm.init.InitAuth.run(InitAuth.java:59)
atcom.google.gerrit.pgm.init.SitePathInitializer.run(SitePathInitializer.java:92)
com.google.gerrit.pgm.init.BaseInit.run(BaseInit.java:129)
com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:64)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl。
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
在java.lang.reflect.Method.invoke(Method.java:498)
com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLaunche
com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.jav
com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:59
在Main.main(Main.java:25) 原因:javax.crypto.IllegalBlockSizeException:输入长度必须为多个
在com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:936)
在com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:847)
在com.sun.crypto.provider.PBES1Core.doFinal(PBES1Core.java:416)
在com.sun.crypto.provider.PBEWithMD5AndDESCipher.engineDoFinal(PBEWithM
在javax.crypto.Cipher.doFinal(Cipher.java:2164)
com.googlesource.gerrit.plugins.secureconfig.PBECodec.decode(PBECodec ...还有24个