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支持服务器密码加密。该解决方案解决的主要用例是: 多个用户共享同一台生成计算机(服务器、CI 框)有些用户有权将 Maven 工件部署到存储库,有些则没有。 这适用于任何需要授权的服务器操作,而不仅仅是…...
Socks5代理和代理IP:网络工程师的多面利器
在数字时代,网络工程师的角色日益重要,他们需要应对跨界电商、爬虫、出海业务、网络安全和游戏等领域的技术挑战。而Socks5代理和代理IP技术作为他们的利器,发挥着至关重要的作用。本文将探讨这两种技术在不同领域的应用,展现其在…...
模拟信号隔离器在水处理控制系统中的应用方案
安科瑞 崔丽洁 摘要:水处理控制系统中,其控制、监测模块的非电量模拟量传感器采用信号隔离器的接线方式合理地解决了相关模拟量传感器供电电源安全和相对独立的问题,保证了监测模块的电源、模拟量采集模块和输出模块的相对隔离,降…...
XML是不是主要用做配置文件?
2023年10月11日,周三下午 这几天发现tomcat的配置文件主要是用XML文件来写的, 于是就有了这个问题。 是的,XML非常适合用来做配置文件。 XML作为配置文件的主要优点: 可读性强。XML使用标签结构组织数据,内容清晰易懂。跨语言和跨平台。XML作为纯文本…...
在 Elasticsearch 中实现自动完成功能 3:completion suggester
在这篇博文中,我们将讨论 complete suggester - 一种针对自动完成功能进行优化的 suggester,并且被认为比我们迄今为止讨论的方法更快。 Completion suggester 使用称为有限状态转换器的数据结构,该结构类似于 Trie 数据结构,并且…...
走进Flink
什么是Flink Flink是一个分布式的、高性能的、可伸缩的、容错的流处理引擎,它支持批处理和流处理,并提供了丰富的 API 和库,是实时数据处理的理想选择 由Java 和 Scala 实现的,所以所有组件都会运行在Java 虚拟机【单个JVM也可以】…...
Kubernetes核心组件Services
1. Kubernetes Service概念 Service是kubernetes最核心的概念,通过创建Service,可以为一组具有相同功能的POD(容器)应用提供统一的访问入口,并且将请求进行负载分发到后端的各个容器应用上。 在Kubernetes中…...
Win10 系统中用户环境变量和系统环境变量是什么作用和区别?
环境: Win10专业版 问题描述: Win10 系统中用户环境变量和系统环境变量是什么作用和区别? 解答: 在Windows 10系统中,用户环境变量和系统环境变量是两个不同的环境变量,它们具有不同的作用和区别 1.用…...
rust模式
一、模式是什么 模式是Rust中特殊的语法,它用来匹配值 二、模式的使用场景 (一)match match的每个分支箭头左边部分就是模式。 match VALUE {PATTERN > EXPRESSION,PATTERN > EXPRESSION,PATTERN > EXPRESSION, }例子 match x …...
紫光同创FPGA 多路视频处理:图像缩放+视频拼接显示,OV7725采集,提供PDS工程源码和技术支持
目录 1、前言免责声明 2、相关方案推荐FPGA图像缩放方案推荐FPGA视频拼接叠加融合方案推荐紫光同创FPGA图像采集方案推荐紫光同创FPGA图像缩放方案推荐紫光同创FPGA视频拼接方案推荐 3、设计思路框架为什么选择OV7725摄像头?视频源选择OV7725摄像头配置及采集动态彩…...
软考 系统架构设计师系列知识点之软件质量属性(4)
接前一篇文章:软考 系统架构设计师系列知识点之软件质量属性(3) 所属章节: 第8章. 系统质量属性与架构评估 第2节. 面向架构评估的质量属性 相关试题 3. 某公司欲开发一个在线交易系统。在架构设计阶段,公司的架构师…...
如何用BI制作图表组合?
BI(Business Intelligence)是一种通过收集、分析和可视化数据来帮助企业做出决策的技术和工具。在BI中,制作图表组合是一种常见的方式,可以将不同的图表类型组合在一起,以更全面地呈现数据。 下面将详细介绍如何使用B…...
使用frida来spawn Fork 的子进程
索引 需求测试程序父进程代码子进程代码 x64dbg插件功能开始调试 frida运行环境用到的文件和代码 需求 最近在学基础的Windows逆向知识,遇到个小问题。一个进程使用CreateProcessW创建的进程该如何在启动时附加,我想调试这个子进程启动时运行的函数。 …...
网工笔记整理:策略工具Filter-policy的使用
一、概述 Filter-Policy(过滤-策略)是一个很常用的路由信息过滤工具,能够对接收、发布、引入的路由进行过滤,可应用于IS-IS、OSPF、BGP等协议。 Filter-policy在距离矢量路由协议中的应用 filter-policy import:不发…...
数据结构和算法——查找算法
目录 线性查找法 二分查找法 插值查找法 斐波那契查找法 线性查找法 可以是有序的,也可以是无序的。 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:使用立方体制作动漫头像-CSDN博客 上一步已经做了一个头像模型,我做的太丑了,就以这个外星人头像为例 首先切换到着色器编辑器 依次搜索:纹理坐标、映射、分离xyz和颜色渐变 这里的功能也是非常丰富和强大,…...
加密市场波动:地缘政治与美股走弱引发不确定性!
伴随着国庆假期的结束,多日波动率维持低位的加密市场也似乎开始苏醒。近期多次突破28000美元未果的比特币,于9日15:00开始从27800美元附近下跌,最低跌至27260美元,同期以太坊也至1550美元左右,创近半个月来新低。 Coin…...
ElementUI编辑表格单元格与查看模式切换的应用
需求:有时候在填写表单的时候,想要在输入的时候是input输入框的状态,但是当鼠标移出输入框失去焦点时,希望是查看的状态,这种场景可以通过 v-if实现 vue2ElementUi里面使用如下: 1.el-table标签注册 cell-…...
spring-创建Webservice服务
Web service是一个平台独立的,松耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。webservice用的是soap协议。 客户通过发送请求…...
Maven系列第3篇:详解maven解决依赖问题
maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能。 这是maven系列第3篇。 我们先来回顾一下什么是maven? maven是apache软件基金会组织维护的一款自动化构件工具,专注服务于java平台的项目构件和依赖管理。 本文主要内容…...
QuantsPlaybook因子测试框架深度剖析:量化因子评估的创新方法论
QuantsPlaybook因子测试框架深度剖析:量化因子评估的创新方法论 【免费下载链接】QuantsPlaybook 项目地址: https://gitcode.com/GitHub_Trending/qu/QuantsPlaybook 副标题:如何构建稳定有效的选股策略?从原理到实战的完整指南 量…...
表格拖拽排序实战:从业务需求到代码落地的全链路指南
表格拖拽排序实战:从业务需求到代码落地的全链路指南 【免费下载链接】ngx-datatable ✨ A feature-rich yet lightweight data-table crafted for Angular 项目地址: https://gitcode.com/gh_mirrors/ng/ngx-datatable 在现代Web应用中,数据表格…...
告别演唱会抢票焦虑:大麦网Python自动化抢票脚本终极指南
告别演唱会抢票焦虑:大麦网Python自动化抢票脚本终极指南 【免费下载链接】DamaiHelper 大麦网演唱会演出抢票脚本。 项目地址: https://gitcode.com/gh_mirrors/dama/DamaiHelper 还在为心仪歌手的演唱会门票秒光而烦恼吗?还在为黄牛高价票而心痛…...
三步搞定!用bilidown轻松下载B站8K超清视频的完整指南
三步搞定!用bilidown轻松下载B站8K超清视频的完整指南 【免费下载链接】bilidown 哔哩哔哩视频解析下载工具,支持 8K 视频、Hi-Res 音频、杜比视界下载、批量解析,可扫码登录,常驻托盘。 项目地址: https://gitcode.com/gh_mirr…...
BGE-Large-Zh效果对比:BGE-Large-Zh vs m3e-base在中文长尾词匹配上的实测差异
BGE-Large-Zh效果对比:BGE-Large-Zh vs m3e-base在中文长尾词匹配上的实测差异 1. 引言:为什么关注中文长尾词匹配 在日常的中文信息检索和语义匹配场景中,我们经常会遇到一些特殊的长尾词汇。这些词汇可能是不常见的专业术语、新兴的网络用…...
用Matlab/Simulink手把手教你设计交错式升压DC-DC转换器(附PI参数整定代码)
从零构建交错式升压DC-DC转换器的MATLAB实战指南 交错式升压拓扑正在新能源领域掀起一场静默革命——当电动汽车的电池管理系统需要稳定升压时,当光伏逆变器要处理不稳定的直流输入时,这种能显著降低电流纹波的结构已成为工程师的秘密武器。但理论图纸与…...
智能管控硬件设备:FanControl散热管理工具全攻略
智能管控硬件设备:FanControl散热管理工具全攻略 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/FanC…...
告别SD卡!用ADB在Windows PowerShell里给开发板传文件,保姆级避坑指南
告别SD卡!用ADB在Windows PowerShell里给开发板传文件,保姆级避坑指南 嵌入式开发中,文件传输一直是个高频痛点。每次修改代码后,传统方式要么拔出SD卡用读卡器拷贝,要么搭建FTP/NFS网络共享,不仅步骤繁琐…...
3分钟,零代码!让Arduino看懂你的手势——Teachable Machine硬件魔法揭秘
3分钟,零代码!让Arduino看懂你的手势——Teachable Machine硬件魔法揭秘 【免费下载链接】teachablemachine-community Example code snippets and machine learning code for Teachable Machine 项目地址: https://gitcode.com/gh_mirrors/te/teachab…...
SenseVoice语音识别镜像深度体验:自动语言检测+高效推理,实测效果惊艳
SenseVoice语音识别镜像深度体验:自动语言检测高效推理,实测效果惊艳 1. 开箱即用的语音识别体验 当我第一次启动SenseVoice语音识别镜像时,最直观的感受就是"快"。这个基于ONNX量化的多语言语音识别服务,从启动到可用…...
