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

LabVIEW网络服务安全2

LabVIEW网络服务安全2

在客户端应用程序中创建签名

对请求进行签名要求您具有能够从客户端的编程语言调用的MD5摘要算法以及SHA256加密摘要算法的实现。这两种算法通常都可用于大多数平台。还需要:

1. 要使用的HTTP方法的字符串(“GET”、“POST”、“PUT”、“DELETE”)

2. 目标IP地址(或DNS主机名)

3. 在该地址请求的网址

4. HTTP内容正文(可能出现在“PUT”或“POST”请求中)

5. 当前时((in UTCtime using format ‘YYYY-MM-DD HH:MM:SSZ’)

6. 安全密钥的两个元素(访问ID和密钥ID)

例如,给定以下HTTP请求:

Method = GET

Time = 2008-07-23 22:41:02Z

URL = /quotes/NATI

1. 客户端创建许多单独的字符串元素,这些元素将连接在一起。这些元素是:

要使用的HTTP方法的字符串(“GET”、“POST”、“PUT”、“DELETE”)

“GET”

2. URL请求

'/quotes/NATI'

3. 当前时间(以UTC时间使用格式“YYYY-MM-DDHH:MM:SSZ”)

'2008-07-2322:41:02Z'

4. The Access ID portion of the Security Key

1. 'PqVr/ifkAQh+lVrdPIykXlFvg12GhhQFR8H9cUhphgg=' the default Access ID的机密The clientcreates a number of individual string elements that will get concatenatedtogether. These elements are:

The string for the HTTP method to be used (‘GET’, ‘POST’, ‘PUT’, ‘DELETE’)

‘GET’

2. The URL requested

'/quotes/NATI'

3. The current time of day (in UTC time using format‘YYYY-MM-DD HH:MM:SSZ’)

‘2008-07-23 22:41:02Z’

4. The Access ID portion of the Security Key

'PqVr/ifkAQh+lVrdPIykXlFvg12GhhQFR8H9cUhphgg=' ß the defaultAccess ID

5. The hex-encoded MD5 digest of the Secret ID portion ofthe Security Key

Given: 'pTe9HRlQuMfJxAG6QCGq7UvoUpJzAzWGKy5SbZ+roSU=' ß the defaultSecret ID

‘4ce83e7d608f70375fd1cda0a6f3ae66’ ß the hex-encodedMD5 digest of the Secret ID string

6. The hex-encoded MD5 digest of the content-body if thereis a content-body for the request (Not applicable for this request becausethere is no content-body for a GET request).

Appendedtogether, these give us a string of:

‘GET/quotes/NATI2008-07-23

22:41:02ZPqVr/ifkAQh+lVrdPIykXlFvg12GhhQFR8H9cUhphgg=4ce83e7d608f70375fd1cda0a6f3ae66’

为了形成最终签名,我们一起附加:

1. ‘NIWS’ (for requests with no content-body, or forrequests in which we do not want to include the content-body as part of thesignature) or ‘NIWS2’ (for requests with a content body).

2. A blank space (0x20).

3. The Access ID

4. A colon (0x3a)

5. The Base64-encoded SHA256 digest, as calculated above.

Thisgives us the signature string:

‘PqVr/ifkAQh+lVrdPIykXlFvg12GhhQFR8H9cUhphgg=:xTDFuYyLJpwOLL2bKKlAco59W/0N53BnVwOGNZ0fX

l0=’

Thissignature string is added to the HTTP request as a header named:“x-ni-authentication”.

Thetimestamp string used to create this signature is also attached to thesignature as a header named “x-ni-date”.

So acomplete signed HTTP request (with ‘\n’ shown to represent the requiredcarriage returns) would look like:

GET/quotes/NATI HTTP/1.1 ‘\n’

x-ni-date:2008-07-23 22:41:02Z ‘\n’

x-ni-authentication:NIWSPqVr/ifkAQh+lVrdPIykXlFvg12GhhQFR8H9cUhphgg=:xTDFuYyLJpwOLL2bKKlAco59W/0N53BnVwOGNZ0fXl0=‘\n’

Thissignature, embedded as HTTP headers, is only for this request. It could onlyhave been

createdby someone who knew the algorithm and both parts of the Security Key. Plus, thesignature includes an encoded version of the timestamp, so the signature has abuilt-in expiration time, as configured on the LabVIEW target. Outside of thattime window, this signature is automatically invalid, preventing later replaysof the request.

Note thatthe timestamp calculations require that the clock be properly set on both theclient and the LabVIEW target. Because the timestamp string is written in UTCtime, the client and servers can each be in different time zones, as long astheir local clocks and time zones are correctly set.

需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

相关文章:

LabVIEW网络服务安全2

LabVIEW网络服务安全2在客户端应用程序中创建签名对请求进行签名要求您具有能够从客户端的编程语言调用的MD5摘要算法以及SHA256加密摘要算法的实现。这两种算法通常都可用于大多数平台。还需要:1. 要使用的HTTP方法的字符串(“GET”、“POST”、“PUT”…...

java动态代理

目录儿一、代理模式的作用二、实现代理的方式三、动态代理的实现3.1 jdk动态代理3.2 cglib动态代理一、代理模式的作用 功能增强: 基于某个功能,再增加一些功能。 (比如目标类只负责核心功能,其他附属功能通过代理类完成。代理类的方法名与目…...

Python 简单可变、复杂可变、简单不可变、复杂不可变类型的copy、deepcopy的行为

copy模块:copy:浅拷贝deepcopy:深拷贝简单可变类型、复杂可变的copy()、deepcopy():简单不可变、复杂不可变类型的copy()、deepcopy():结论:对于简单类型的可变类型copy是深拷贝,改变了该拷贝变…...

QML Item

在QML中所有的可视项目都继承自Item,虽然Item本身没有可视化的外观,但它定义了可视化项目的所有属性。 Item可以作为容器使用: Item{Rectangle{id:retc}Rectangle{id:retc1}Rectangle{id:retc2}Rectangle{id:retc3}} item拥有children属性…...

使用xca工具生成自签证书

本文使用 xca 生成自签证书。 概述 之前使用 openssl 生成证书,在 golang 中测试,发现客户端连接失败,经查发现是Subject Alternative Name不支持导致的。因虚拟机 openssl 版本较低,有个功能无法实现,且升级麻烦&…...

Unity IOS 通过命令行导出IPA

新建一个文件然后输入如下内容 #!/usr/bin/env sh /Applications/Unity/Hub/Editor/2020.1.5f1c1/Unity.app/Contents/MacOS/Unity -quit -batchmode -projectPath /Users/zyt/Test -executeMethod Test.BuildEditor.BuildApp cd /Users/zyt/Test/Xcode/unity-xcode xcodebuil…...

「架构」全链路异步模式

总结自尼恩的全链路异步:网关纯异步化网关层的特点:不需要访问业务数据库只做协议转换和流量转发特点是 IO 密集型,特别适合纯异步的架构,可以极大的节省资源。如何进行网关异步化?使用高性能的通信框架Netty&#xff…...

CleanMyMac4.20最新版新增功能及电脑清理垃圾使用教程

CleanMyMac4.20作为知名的Mac清理工具,仅需一键即可快速而安全地清理系统垃圾,释放磁盘空间,因此一直深受Mac用户的喜爱。在不断更新的版本中,CleanMyMac已经不仅仅满足于只做简单的Mac清理工具,而是为Mac用户提供更多…...

Vue2的tsx开发入门完全指南

本篇文章尽量不遗漏重要环节,本着真正分享的心态,不做标题党 下面进入正题: 由于现在vue的官方脚手架已经非常完善我们就不单独配置webpack了,节省大量的时间成本。 首先使用vue/cli创建一个vue模版项目(记得是vue/…...

GLSL shader学习系列1-Hello World

这是GLSL shader系列第一篇文章,本文学习目标: 安装编辑工具编写hello world程序 安装插件 我使用VSCode编写shader代码,在VSCode上有两个好用的插件需要先装一下: Shader languages support for VS Code glsl-canvas&#xf…...

Codeforces Round #851 (Div. 2)(A~D)

A. One and Two给出一个数组&#xff0c;该数组仅由1和2组成&#xff0c;问是否有最小的k使得k位置的前缀积和后缀积相等。思路&#xff1a;计算2个数的前缀和即可&#xff0c;遍历判断。AC Code&#xff1a;#include <bits/stdc.h>typedef long long ll; const int N 1…...

内存保护_1:Tricore芯片MPU模块介绍

上一篇 | 返回主目录 | 下一篇 内存保护_1&#xff1a;Tricore芯片MPU模块介绍1 何为MPU2 MPU相关的硬件子系统2.1 基于地址范围保护逻辑说明2.1.1 地址范围寄存器2.1.2 读、写、执行权限寄存器2.1.3 保护集设置位2.1.4 内存保护功能使能位2.1.5 核的内存保护范围获取说明2.1.6…...

Vue3 -- PDF展示、添加签名(带笔锋)、导出

文章目录笔锋签名方案一实现要点实现过程组件引用页面元素添加引用实现代码效果展示缺点方案二修改页面元素替换引用修改代码效果展示完整代码地址实现功能的时候采用了两个方案&#xff0c;主要是第一个方案最后的实现效果并不太理想&#xff0c;但实现起来比较简单&#xff0…...

行测-判断推理-图形推理-样式规律-属性规律-曲直性

左边的图全是由曲线构成的选C1 3 5全是由曲线构成的2 4 6全是由直线构成的第三行的图形有曲有直选A1 3 5有曲有直2 4 6全是直线选D图形有曲有直&#xff0c;排除B D外曲内直->内曲外直->外曲内直->内曲外直->外曲内直->内曲外直所以问号出的图形应该是内曲外直选…...

idea集成Alibaba Cloud Toolkit插件

idea集成Alibaba Cloud Toolkit插件 ​ 使用该插件主要是简化打包、上传、启动服务的相关操作。 ​ 很早之前的方式是使用开发工具&#xff08;eclipse,idea&#xff09;&#xff0c;使用maven命令完成项目打包&#xff08;这里指jar&#xff09;&#xff0c;然后通过shell工…...

Win11 文件夹打开慢或卡顿解决方案

问题 目前是 2023/2/27, 我的 Win11 系统点开一个文件夹要等待 2-3 秒才能加载出来, 使用体验极差。网上查阅大量资料, 有些人在系统更新后这个情况就消失了, 但是我这一直存在, 系统也是当前的最新版, 没有修复。 目前得出的结论是, 因为 Win11 的工具栏占用了过多的资源, 需…...

【PostgreSQL的idle in transaction连接状态】

在平时查询pg_stat_activity这个视图的时候&#xff0c;每一行包含了一个进程的相关信息&#xff0c;包含当前正在执行的SQL&#xff0c;或者会话的状态等等&#xff0c;state字段表示当前进程的状态。在PostgreSQL数据库里&#xff0c;其实代码里总共定义了7种BackendState&am…...

cityengine自定义纹理库资源

背景 cityengine虽然可以将shp生成带纹理的三维模型,但是纹理不一定满足我们的要求,这时候我们就想用我们自己制作的纹理 粗略了解规则文件 了解Building_From_Footprint.cga这个规则文件,具体文件位置默认在 “C:\Users[电脑用户名:如Administrator]\Documents\CityEng…...

taobao.top.secret.bill.detail( 服务商的商家解密账单详情查询 )

&#xffe5;免费必须用户授权 服务商的商家解密账单详情查询&#xff0c;仅对90天内的账单提供SLA保障。 公共参数 请求地址: HTTP地址 http://gw.api.taobao.com/router/rest 公共请求参数: 公共响应参数: 请求参数 响应参数 点击获取key和secret 请求示例 TaobaoClient…...

2023软件测试金三银四常见的软件测试面试题-【抓包和网络协议篇】

八、抓包与网络协议 8.1 抓包工具怎么用 我原来的公司对于抓包这块&#xff0c;在App的测试用得比较多。我们会使用fiddler抓取数据检查结果&#xff0c;定位问题&#xff0c;测试安全&#xff0c;制造弱网环境; 如&#xff1a;抓取数据通过查看请求数据&#xff0c;请求行&…...

Cesium1.95内存优化实战:从3D Tiles到GPU Instancing的完整避坑指南

Cesium1.95内存优化实战&#xff1a;从3D Tiles到GPU Instancing的完整避坑指南 在三维地理信息系统和智慧城市项目中&#xff0c;Cesium作为领先的WebGL框架&#xff0c;其性能表现直接决定了复杂场景的流畅度。当遇到大规模模型加载时&#xff0c;内存溢出成为开发者最头疼的…...

基于COMSOL 5.5的精确非局部损伤模型:模拟脆性材料压缩、摩擦和剪切条件下的破坏行为研究

开发了一种基于COMSOL 5.5的损伤模型&#xff0c;专门用于模拟脆性材料在压缩、摩擦和剪切条件下的破坏行为。 该模型采用非局部本构关系&#xff0c;通过考虑材料内部微观结构的影响&#xff0c;精确捕捉脆性材料在受力过程中的应力分布和破坏机理。脆性材料的破坏模拟一直是工…...

如何用3种方法让Fira Code字体提升你的编码效率?

如何用3种方法让Fira Code字体提升你的编码效率&#xff1f; 【免费下载链接】FiraCode Free monospaced font with programming ligatures 项目地址: https://gitcode.com/GitHub_Trending/fi/FiraCode 还在为代码中的箭头符号显示不清晰而烦恼&#xff1f;是否经常需要…...

RVC 技术指南:从问题解决到效率提升

RVC 技术指南&#xff1a;从问题解决到效率提升 【免费下载链接】rvc RVC is a Linux console UI for vSphere, built on the RbVmomi bindings to the vSphere API. 项目地址: https://gitcode.com/gh_mirrors/rvc/rvc 问题场景→核心原理→分步方案→进阶技巧 一、环…...

国产64G超大显存GPU,海光K100

长城永不倒&#xff0c;国货当自强&#xff01; 海光K100 AI是7nm国产GPU加速卡&#xff0c;主打大显存高AI算力信创国产适配高性价比&#xff1a; • 64GB大显存&#xff0c;适合大模型训练/推理 • INT8 392 TOPS、FP16 196 TFLOPS&#xff0c;算力强劲 • PCIe 5.0、350W&am…...

PyTorch 3.0静态图分布式训练源码分析窗口即将关闭:官方已标记torch.distributed._spmd模块为“实验性冻结”,2024 Q3后将移除调试钩子入口

第一章&#xff1a;PyTorch 3.0静态图分布式训练的演进背景与冻结决策动因PyTorch 3.0正式宣布冻结静态图&#xff08;TorchScript&#xff09;在分布式训练路径中的演进支持&#xff0c;这一决策并非技术倒退&#xff0c;而是基于多年大规模生产实践与生态协同的理性收敛。随着…...

Axure RP全版本界面本地化:从问题诊断到安全部署的完整指南

Axure RP全版本界面本地化&#xff1a;从问题诊断到安全部署的完整指南 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包&#xff0c;不定期更新。支持 Axure 9、Axure 10。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn …...

CST、Sspp与色散曲线的关联

CST cst Sspp 色散曲线在电磁仿真领域摸爬滚打过的工程师&#xff0c;对色散曲线这个磨人的小妖精应该都不陌生。今天咱们就来聊聊怎么用CST Studio Suite里的本征模求解器&#xff08;Eigenmode Solver&#xff09;提取波导结构的色散曲线&#xff0c;手把手带你从懵逼到上手…...

手把手教你用Matlab/Simulink搭建VSG虚拟阻抗模型,搞定新能源并网振荡难题

新能源并网VSG虚拟阻抗控制实战&#xff1a;从Simulink建模到振荡抑制 电力电子工程师们正面临一个棘手难题——新能源并网系统中的宽频振荡。当构网型变流器&#xff08;GFM&#xff09;在强电网环境下运行时&#xff0c;次同步和超同步频段的负阻尼特性可能导致系统失稳。虚拟…...

从抓包实战出发:用Wireshark解密HTTP请求背后的TCP三次握手与挥手

从抓包实战出发&#xff1a;用Wireshark解密HTTP请求背后的TCP三次握手与挥手 当我们在浏览器中输入一个网址按下回车时&#xff0c;屏幕背后正上演着一场精密的协议芭蕾。作为开发者&#xff0c;你是否曾好奇&#xff1a;那些教科书上的TCP三次握手理论&#xff0c;在真实网络…...