jenkins.model.Jenkins.getSecretKey()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(6.6k)|赞(0)|评价(0)|浏览(317)

本文整理了Java中jenkins.model.Jenkins.getSecretKey()方法的一些代码示例,展示了Jenkins.getSecretKey()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Jenkins.getSecretKey()方法的具体详情如下:
包路径:jenkins.model.Jenkins
类名称:Jenkins
方法名:getSecretKey

Jenkins.getSecretKey介绍

[英]Returns a secret key that survives across container start/stop.

This value is useful for implementing some of the security features.
[中]返回一个密钥,该密钥在容器启动/停止期间有效。
此值对于实现某些安全功能非常有用。

代码示例

代码示例来源:origin: jenkinsci/jenkins

  1. /**
  2. * Returns the unique identifier of this Jenkins that has been historically used to identify
  3. * this Jenkins to the outside world.
  4. *
  5. * <p>
  6. * This form of identifier is weak in that it can be impersonated by others. See
  7. * https://wiki.jenkins-ci.org/display/JENKINS/Instance+Identity for more modern form of instance ID
  8. * that can be challenged and verified.
  9. *
  10. * @since 1.498
  11. */
  12. @SuppressWarnings("deprecation")
  13. public String getLegacyInstanceId() {
  14. return Util.getDigestOf(getSecretKey());
  15. }

代码示例来源:origin: jenkinsci/jenkins

  1. @Nonnull
  2. @Restricted(NoExternalUse.class)
  3. /*package*/ String getApiTokenInsecure() {
  4. if(apiToken == null){
  5. return Messages.ApiTokenProperty_NoLegacyToken();
  6. }
  7. String p = apiToken.getPlainText();
  8. if (p.equals(Util.getDigestOf(Jenkins.getInstance().getSecretKey()+":"+user.getId()))) {
  9. // if the current token is the initial value created by pre SECURITY-49 Jenkins, we can't use that.
  10. // force using the newer value
  11. apiToken = Secret.fromString(p=API_KEY_SEED.mac(user.getId()));
  12. }
  13. return Util.getDigestOf(p);
  14. }

代码示例来源:origin: jenkinsci/jenkins

  1. @SuppressWarnings("deprecation")
  2. private static RememberMeServices createRememberMeService(UserDetailsService uds) {
  3. // create our default TokenBasedRememberMeServices, which depends on the availability of the secret key
  4. TokenBasedRememberMeServices2 rms = new TokenBasedRememberMeServices2();
  5. rms.setUserDetailsService(uds);
  6. /*
  7. TokenBasedRememberMeServices needs to be used in conjunction with RememberMeAuthenticationProvider,
  8. and both needs to use the same key (this is a reflection of a poor design in AcgeiSecurity, if you ask me)
  9. and various security plugins have its own groovy script that configures them.
  10. So if we change this, it creates a painful situation for those plugins by forcing them to choose
  11. to work with earlier version of Jenkins or newer version of Jenkins, and not both.
  12. So we keep this here.
  13. */
  14. rms.setKey(Jenkins.getInstance().getSecretKey());
  15. rms.setParameter("remember_me"); // this is the form field name in login.jelly
  16. return rms;
  17. }
  18. }

代码示例来源:origin: org.jenkins-ci.main/jenkins-core

  1. /**
  2. * Returns the unique identifier of this Jenkins that has been historically used to identify
  3. * this Jenkins to the outside world.
  4. *
  5. * <p>
  6. * This form of identifier is weak in that it can be impersonated by others. See
  7. * https://wiki.jenkins-ci.org/display/JENKINS/Instance+Identity for more modern form of instance ID
  8. * that can be challenged and verified.
  9. *
  10. * @since 1.498
  11. */
  12. @SuppressWarnings("deprecation")
  13. public String getLegacyInstanceId() {
  14. return Util.getDigestOf(getSecretKey());
  15. }

代码示例来源:origin: io.provis/provisio-jenkins-runtime

  1. @Override
  2. protected byte[] load(ConfidentialKey key) throws IOException {
  3. if(key instanceof CryptoConfidentialKey) {
  4. MessageDigest digest;
  5. try {
  6. digest = MessageDigest.getInstance("SHA-256");
  7. } catch (NoSuchAlgorithmException e) {
  8. throw new IllegalStateException(e);
  9. }
  10. digest.reset();
  11. digest.update(Jenkins.getInstance().getSecretKey().getBytes("UTF-8"));
  12. return digest.digest();
  13. }
  14. throw new IllegalArgumentException("Unsupported key type " + key.getClass().getName());
  15. }

代码示例来源:origin: io.provis/provisio-jenkins-runtime

  1. public void init(byte[] secretKey) throws IOException {
  2. Jenkins jenkins = Jenkins.setup(rootDir, secretKey);
  3. TextFile secretFile = new TextFile(new File(rootDir, "secret.key"));
  4. secretFile.write(jenkins.getSecretKey());
  5. // don't let jenkins complain about old encryption secret scheme
  6. new FileBoolean(new File(rootDir, "secret.key.not-so-secret")).on();
  7. // but force rekey on start
  8. new FileBoolean(new File(new File(rootDir, "jenkins.security.RekeySecretAdminMonitor"), "scanOnBoot")).on();
  9. }

代码示例来源:origin: org.jenkins-ci.main/jenkins-core

  1. @Nonnull
  2. @Restricted(NoExternalUse.class)
  3. /*package*/ String getApiTokenInsecure() {
  4. String p = apiToken.getPlainText();
  5. if (p.equals(Util.getDigestOf(Jenkins.getInstance().getSecretKey()+":"+user.getId()))) {
  6. // if the current token is the initial value created by pre SECURITY-49 Jenkins, we can't use that.
  7. // force using the newer value
  8. apiToken = Secret.fromString(p=API_KEY_SEED.mac(user.getId()));
  9. }
  10. return Util.getDigestOf(p);
  11. }

代码示例来源:origin: jenkinsci/active-directory-plugin

  1. public SecurityComponents createSecurityComponents() {
  2. BeanBuilder builder = new BeanBuilder(getClass().getClassLoader());
  3. Binding binding = new Binding();
  4. binding.setVariable("realm", this);
  5. InputStream i = getClass().getResourceAsStream("ActiveDirectory.groovy");
  6. try {
  7. builder.parse(i, binding);
  8. } finally {
  9. IOUtils.closeQuietly(i);
  10. }
  11. WebApplicationContext context = builder.createApplicationContext();
  12. //final AbstractActiveDirectoryAuthenticationProvider adp = findBean(AbstractActiveDirectoryAuthenticationProvider.class, context);
  13. findBean(AbstractActiveDirectoryAuthenticationProvider.class, context); //Keeping the call because there might be side effects?
  14. final UserDetailsService uds = findBean(UserDetailsService.class, context);
  15. TokenBasedRememberMeServices2 rms = new TokenBasedRememberMeServices2() {
  16. public Authentication autoLogin(HttpServletRequest request, HttpServletResponse response) {
  17. try {
  18. return super.autoLogin(request, response);
  19. } catch (Exception e) {// TODO: this check is made redundant with 1.556, but needed with earlier versions
  20. cancelCookie(request, response, "Failed to handle remember-me cookie: "+Functions.printThrowable(e));
  21. return null;
  22. }
  23. }
  24. };
  25. rms.setUserDetailsService(uds);
  26. rms.setKey(Jenkins.getActiveInstance().getSecretKey());
  27. rms.setParameter("remember_me"); // this is the form field name in login.jelly
  28. return new SecurityComponents( findBean(AuthenticationManager.class, context), uds, rms);
  29. }

代码示例来源:origin: org.jenkins-ci.main/jenkins-core

  1. @SuppressWarnings("deprecation")
  2. private static RememberMeServices createRememberMeService(UserDetailsService uds) {
  3. // create our default TokenBasedRememberMeServices, which depends on the availability of the secret key
  4. TokenBasedRememberMeServices2 rms = new TokenBasedRememberMeServices2();
  5. rms.setUserDetailsService(uds);
  6. /*
  7. TokenBasedRememberMeServices needs to be used in conjunction with RememberMeAuthenticationProvider,
  8. and both needs to use the same key (this is a reflection of a poor design in AcgeiSecurity, if you ask me)
  9. and various security plugins have its own groovy script that configures them.
  10. So if we change this, it creates a painful situation for those plugins by forcing them to choose
  11. to work with earlier version of Jenkins or newer version of Jenkins, and not both.
  12. So we keep this here.
  13. */
  14. rms.setKey(Jenkins.getInstance().getSecretKey());
  15. rms.setParameter("remember_me"); // this is the form field name in login.jelly
  16. return rms;
  17. }
  18. }

相关文章

Jenkins类方法