当前位置: 首页 > news >正文

Maven 密码加密

一、简介

Maven支持服务器密码加密。该解决方案解决的主要用例是:

  • 多个用户共享同一台生成计算机(服务器、CI 框)
  • 有些用户有权将 Maven 工件部署到存储库,有些则没有。
    • 这适用于任何需要授权的服务器操作,而不仅仅是部署
  • settings.xml在用户之间共享

实施的解决方案添加了以下功能:

  • 授权用户在其目录中有一个附加文件settings-security.xml${user.home}/.m2
    • 此文件包含加密的主密码,用于加密其他密码
    • 或者它可以包含重定位 - 引用另一个文件,可能在可移动存储上
    • 此密码目前首先通过 CLI 创建
  • 中的服务器条目已加密密码和/或密钥库密码settings.xml
    • 目前 - 这是在创建主密码并将其存储在适当位置后通过 CLI 完成的

二、 如何创建主密码

使用以下命令行:


mvn --encrypt-master-password <password>

注意:从 Maven 3.2.1 开始,不应再使用密码参数。Maven 将提示输入密码。早期版本的 Maven 不会提示输入密码,因此必须在命令行上以明文形式键入密码。

此命令将生成密码的加密版本,类似于:

{jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+9EF1iFQyJQ=}

将该密码存储在${user.home}/.m2/settings-security.xml中;它应该看起来像:

<settingsSecurity><master>{jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+9EF1iFQyJQ=}</master>
</settingsSecurity>

完成此操作后,可以开始加密现有服务器密码。

三、如何加密服务器密码

您必须使用以下命令行:

mvn --encrypt-password <password>

注意:就像--encrypt master password一样,自Maven 3.2.1以来,不应再使用密码参数(有关详细信息,请参阅下面的提示。)。
该命令生成它的加密版本,类似于:

{COQLCE6DU6GtcS5P=}

将其复制并粘贴到settings.xml文件的servers部分。这将类似于:

<settings>
...<servers>
...<server><id>my.server</id><username>foo</username><password>{COQLCE6DU6GtcS5P=}</password></server>
...</servers>
...
</settings>

请注意,密码可以包含大括号以外的任何信息,以便以下内容仍然有效:

<settings>
...<servers>
...<server><id>my.server</id><username>foo</username><password>Oleg reset this password on 2009-03-11, expires on 2009-04-11 {COQLCE6DU6GtcS5P=}</password></server>
...</servers>
...
</settings>

然后你可以使用,比如说,部署插件,写入这个服务器:

mvn deploy:deploy-file -Durl=https://maven.corp.com/repo \-DrepositoryId=my.server \-Dfile=your-artifact-1.0.jar \

四、如何在可移动驱动器上保留主密码

完全如上所述创建主密码,并将其存储在可移动驱动器上,例如在OSX上,我的USB驱动器装载为/Volumes/mySecureUsb,因此我存储:

<settingsSecurity><master>{jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+9EF1iFQyJQ=}</master>
</settingsSecurity>

在文件/Volumes/mySecureUsb/secure/settings-security.xml中
然后创建${user.home}/.m2/settings-security.xml,内容如下:

<settingsSecurity><relocation>/Volumes/mySecureUsb/secure/settings-security.xml</relocation>
</settingsSecurity>

这确保加密仅在操作系统装载USB驱动器时工作。这解决了一个用例,其中只有某些人被授权部署并获得这些设备。

五、在密码中转义花括号文本(自:Maven 2.2.0)

有时,您可能会发现密码(或其加密形式)包含“{”或“}”作为文本值。如果将这样的密码添加到settings.xml文件中,您会发现Maven对它做了一些奇怪的事情。具体来说,Maven将“{”文本之前的所有字符以及“}”文本之后的所有字符作为注释。显然,这不是你想要的行为。您真正需要的是一种逃避密码中花括号文本的方法。
您可以使用广泛使用的“\”转义符来实现这一点。如果您的密码如下所示:

jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+{EF1iFQyJQ=

然后,要添加到settings.xml的值如下所示:

{jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+\{EF1iFQyJQ=}

相关文章:

Maven 密码加密

一、简介 Maven支持服务器密码加密。该解决方案解决的主要用例是&#xff1a; 多个用户共享同一台生成计算机&#xff08;服务器、CI 框&#xff09;有些用户有权将 Maven 工件部署到存储库&#xff0c;有些则没有。 这适用于任何需要授权的服务器操作&#xff0c;而不仅仅是…...

Socks5代理和代理IP:网络工程师的多面利器

在数字时代&#xff0c;网络工程师的角色日益重要&#xff0c;他们需要应对跨界电商、爬虫、出海业务、网络安全和游戏等领域的技术挑战。而Socks5代理和代理IP技术作为他们的利器&#xff0c;发挥着至关重要的作用。本文将探讨这两种技术在不同领域的应用&#xff0c;展现其在…...

模拟信号隔离器在水处理控制系统中的应用方案

安科瑞 崔丽洁 摘要&#xff1a;水处理控制系统中&#xff0c;其控制、监测模块的非电量模拟量传感器采用信号隔离器的接线方式合理地解决了相关模拟量传感器供电电源安全和相对独立的问题&#xff0c;保证了监测模块的电源、模拟量采集模块和输出模块的相对隔离&#xff0c;降…...

XML是不是主要用做配置文件?

2023年10月11日&#xff0c;周三下午 这几天发现tomcat的配置文件主要是用XML文件来写的&#xff0c; 于是就有了这个问题。 是的,XML非常适合用来做配置文件。 XML作为配置文件的主要优点: 可读性强。XML使用标签结构组织数据,内容清晰易懂。跨语言和跨平台。XML作为纯文本…...

在 Elasticsearch 中实现自动完成功能 3:completion suggester

在这篇博文中&#xff0c;我们将讨论 complete suggester - 一种针对自动完成功能进行优化的 suggester&#xff0c;并且被认为比我们迄今为止讨论的方法更快。 Completion suggester 使用称为有限状态转换器的数据结构&#xff0c;该结构类似于 Trie 数据结构&#xff0c;并且…...

走进Flink

什么是Flink Flink是一个分布式的、高性能的、可伸缩的、容错的流处理引擎&#xff0c;它支持批处理和流处理&#xff0c;并提供了丰富的 API 和库&#xff0c;是实时数据处理的理想选择 由Java 和 Scala 实现的&#xff0c;所以所有组件都会运行在Java 虚拟机【单个JVM也可以】…...

Kubernetes核心组件Services

1. Kubernetes Service概念 Service是kubernetes最核心的概念&#xff0c;通过创建Service&#xff0c;可以为一组具有相同功能的POD&#xff08;容器&#xff09;应用提供统一的访问入口&#xff0c;并且将请求进行负载分发到后端的各个容器应用上。 在Kubernetes中&#xf…...

Win10 系统中用户环境变量和系统环境变量是什么作用和区别?

环境&#xff1a; Win10专业版 问题描述&#xff1a; Win10 系统中用户环境变量和系统环境变量是什么作用和区别&#xff1f; 解答&#xff1a; 在Windows 10系统中&#xff0c;用户环境变量和系统环境变量是两个不同的环境变量&#xff0c;它们具有不同的作用和区别 1.用…...

rust模式

一、模式是什么 模式是Rust中特殊的语法&#xff0c;它用来匹配值 二、模式的使用场景 &#xff08;一&#xff09;match match的每个分支箭头左边部分就是模式。 match VALUE {PATTERN > EXPRESSION,PATTERN > EXPRESSION,PATTERN > EXPRESSION, }例子 match x …...

紫光同创FPGA 多路视频处理:图像缩放+视频拼接显示,OV7725采集,提供PDS工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐FPGA图像缩放方案推荐FPGA视频拼接叠加融合方案推荐紫光同创FPGA图像采集方案推荐紫光同创FPGA图像缩放方案推荐紫光同创FPGA视频拼接方案推荐 3、设计思路框架为什么选择OV7725摄像头&#xff1f;视频源选择OV7725摄像头配置及采集动态彩…...

软考 系统架构设计师系列知识点之软件质量属性(4)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之软件质量属性&#xff08;3&#xff09; 所属章节&#xff1a; 第8章. 系统质量属性与架构评估 第2节. 面向架构评估的质量属性 相关试题 3. 某公司欲开发一个在线交易系统。在架构设计阶段&#xff0c;公司的架构师…...

如何用BI制作图表组合?

BI&#xff08;Business Intelligence&#xff09;是一种通过收集、分析和可视化数据来帮助企业做出决策的技术和工具。在BI中&#xff0c;制作图表组合是一种常见的方式&#xff0c;可以将不同的图表类型组合在一起&#xff0c;以更全面地呈现数据。 下面将详细介绍如何使用B…...

使用frida来spawn Fork 的子进程

索引 需求测试程序父进程代码子进程代码 x64dbg插件功能开始调试 frida运行环境用到的文件和代码 需求 最近在学基础的Windows逆向知识&#xff0c;遇到个小问题。一个进程使用CreateProcessW创建的进程该如何在启动时附加&#xff0c;我想调试这个子进程启动时运行的函数。 …...

网工笔记整理:策略工具Filter-policy的使用

一、概述 Filter-Policy&#xff08;过滤-策略&#xff09;是一个很常用的路由信息过滤工具&#xff0c;能够对接收、发布、引入的路由进行过滤&#xff0c;可应用于IS-IS、OSPF、BGP等协议。 Filter-policy在距离矢量路由协议中的应用 filter-policy import&#xff1a;不发…...

数据结构和算法——查找算法

目录 线性查找法 二分查找法 插值查找法 斐波那契查找法 线性查找法 可以是有序的&#xff0c;也可以是无序的。 public class SeqSearch {public static void main(String[] args) {int[] arr new int[]{1, 9, 11, -1, 34, 89};int res seqSearch(arr, 34);}public st…...

Blender:对模型着色

Blender&#xff1a;使用立方体制作动漫头像-CSDN博客 上一步已经做了一个头像模型&#xff0c;我做的太丑了&#xff0c;就以这个外星人头像为例 首先切换到着色器编辑器 依次搜索&#xff1a;纹理坐标、映射、分离xyz和颜色渐变 这里的功能也是非常丰富和强大&#xff0c…...

加密市场波动:地缘政治与美股走弱引发不确定性!

伴随着国庆假期的结束&#xff0c;多日波动率维持低位的加密市场也似乎开始苏醒。近期多次突破28000美元未果的比特币&#xff0c;于9日15:00开始从27800美元附近下跌&#xff0c;最低跌至27260美元&#xff0c;同期以太坊也至1550美元左右&#xff0c;创近半个月来新低。 Coin…...

ElementUI编辑表格单元格与查看模式切换的应用

需求&#xff1a;有时候在填写表单的时候&#xff0c;想要在输入的时候是input输入框的状态&#xff0c;但是当鼠标移出输入框失去焦点时&#xff0c;希望是查看的状态&#xff0c;这种场景可以通过 v-if实现 vue2ElementUi里面使用如下&#xff1a; 1.el-table标签注册 cell-…...

spring-创建Webservice服务

Web service是一个平台独立的&#xff0c;松耦合的&#xff0c;自包含的、基于可编程的web的应用程序&#xff0c;可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序&#xff0c;用于开发分布式的互操作的应用程序。webservice用的是soap协议。 客户通过发送请求…...

Maven系列第3篇:详解maven解决依赖问题

maven系列目标&#xff1a;从入门开始开始掌握一个高级开发所需要的maven技能。 这是maven系列第3篇。 我们先来回顾一下什么是maven&#xff1f; maven是apache软件基金会组织维护的一款自动化构件工具&#xff0c;专注服务于java平台的项目构件和依赖管理。 本文主要内容…...

读书笔记:多Transformer的双向编码器表示法(Bert)-4

多Transformer的双向编码器表示法 Bidirectional Encoder Representations from Transformers&#xff0c;即Bert&#xff1b; 第二部分 探索BERT变体 从本章开始的诸多内容&#xff0c;以理解为目标&#xff0c;着重关注对音频相关的支持&#xff08;如果有的话&#xff09;…...

Stable Diffusion XL搭建

本文参考&#xff1a;Stable Diffusion XL1.0正式发布了&#xff0c;赶紧来尝鲜吧-云海天教程 Stable Diffision最新模型SDXL 1.0使用全教程 - 知乎 1、SDXL与SD的区别 &#xff08;1&#xff09;分辨率得到了提升 原先使用SD生成图片&#xff0c;一般都是生成512*512&…...

面试题-React(十一):性能优化之PureComponent和memo

一、React性能优化的重要性 随着应用的复杂性增加&#xff0c;React组件的渲染可能成为性能瓶颈。频繁的渲染可能导致不必要的性能开销和卡顿。为了确保应用的高性能和流畅用户体验&#xff0c;我们需要采取一些措施来优化组件的渲染。 二、PureComponent-自动浅比较 PureCo…...

<图像处理> Fast角点检测

Fast角点检测 基本原理是使用圆周长为N个像素的圆来判定其圆心像素P是否为角点&#xff0c;如下图所示为圆周长为16个像素的圆&#xff08;半径为3&#xff09;&#xff1b;OpenCV还提供圆周长为12和8个像素的圆来检测角点。 相对中心像素的位置信息 //圆周长为16 static c…...

基于centos、alpine制作Java JDK基础镜像

文章目录 前言一、 简介二、制作JDK/Java基础镜像1.准备事项2.制作Dockerfile脚本2.1.基于centos作为基础镜像2.2.基于alpine作为基础镜像3.构建镜像4.测试验证前言 在日常开发中,但凡项目需要docker容器化部署,制作项目镜像前都需要在Dockerfile中配置Java基础镜像。为什么…...

【AI视野·今日Robot 机器人论文速览 第五十二期】Wed, 11 Oct 2023

AI视野今日CS.Robotics 机器人学论文速览 Wed, 11 Oct 2023 Totally 31 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Robotics Papers RoboHive: A Unified Framework for Robot Learning Authors Vikash Kumar, Rutav Shah, Gaoyue Zhou, Vincent Moens, Vittor…...

hive 知识总结

​编辑 社区公告教程下载分享问答JD 登 录 注册 01 hive 介绍与安装 1 hive介绍与原理分析 Hive是一个基于Hadoop的开源数据仓库工具&#xff0c;用于存储和处理海量结构化数据。它是Facebook 2008年8月开源的一个数据仓库框架&#xff0c;提供了类似于SQL语法的HQL&#xf…...

golang/云原生/Docker/DevOps/K8S/持续 集成/分布式/etcd 教程

3-6个月帮助学员掌握golang后端开发岗位必备技术点 教程时长: 150小时 五大核心专栏,原理源码案例分析项目实战直击工作岗位 golang&#xff1a;解决go语言编程问题 工程组件&#xff1a;解决golang工程化问题 分布式中间件&#xff1a;解决技术栈单一及分布式开发问题 云原生…...

jeecg库login登录过程分析笔记

jeecg库&#xff08;版本jeecg-boot-v3.5.1last&#xff09;实现了用户登录功能&#xff0c;二开时为了借鉴jeecg用户登录的方法&#xff0c;跑了一遍登录方法&#xff1a; org.jeecg.modules.system.controller.LoginController#login 定义这个方法的类的路径是&#xff1a;…...

echarts仪表盘vue

<div class"ybptx" ref"btryzb"></div>mounted() {this.getBtData();},getBtData() {var chart this.$echarts.init(this.$refs.btryzb);var data_czzf 88;var option {series: [{name: 内层数据刻度,type: gauge,radius: 80%,min: 0,max: 1…...