小编bur*_*rsk的帖子

如何使用OpenPGP(Yubikey)签署应用程序包(APK)?

我想使用存储在我的YubikeyOpenPGP小程序中的OpenPGP密钥来签署APK文件.

我知道,有一个使用Yubikey的PIV applet进行APK签名解决方案.但是,PIV applet只能处理密钥长度最多2048位的RSA密钥.

BSI TR-02102-1加密机制技术指南(翻译英文版本)规定,从2023年(或2023年和以后的使用),只能用密钥长度大于或等于3000位RSA密钥是允许的.第一个可用的标准密钥长度是3072位.我必须遵守BSI TR-02102.

这总结为要求,我必须使用3072位的密钥长度和RSA作为算法,我不能使用PIV APK唱歌方法.

有没有办法使用Yubikey 4的OpenPGP小程序使用标准程序或使用自定义程序签署APK文件?

注意:私钥是在Yubikey上生成的,不可导出.这是由于Yubikey的设计和我的最低安全要求.因此,出口和对话不是一种可能的解决方案.

java android code-signing jar-signing apk

39
推荐指数
1
解决办法
495
查看次数

为什么`ul`有ARIA角色`menu`但``menuitem`是禁止`li`?

刚刚介绍了一些关于ARIA角色的策略规范.为什么ul有ARIA角色menu但是menuitem被禁止li

我想描述一个导航栏使用ul,li和HTML5的nav元素结合ARIA角色navigation,menumenuitem.

<!DOCTYPE html>
<html>
  <head><title>ARIA role bug?</title></head>
  <body>
    <nav role="navigation">
      <ul role="menu">
        <li role="menuitem"><a href="http://example.com/">example.com</a></li>
      </ul>
    </nav>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

W3的HTML5验证器在这里唠叨我:

元素li上属性角色的错误值menuitem.

html html5 accessibility wai-aria

17
推荐指数
1
解决办法
1万
查看次数

在Perl中声明包版本方法的优缺点是什么?

模块很酷,特别是当它们带有版本控制时.您可以定义最小模块版本以防止要使用的方法泄漏.但是每个光线都有一个黑暗的一面,这意味着Perl的TIMTOWTDI.

在作为Perl开发人员近七年后,我看到并以多种方式编写了版本声明.有些很容易被指出为坏,有些则不然.由于没有人能完全了解某种语言,所以我想问问你们,Perl中以下软件版本的优缺点是什么.

如果您发现一个泄漏,请不要犹豫,评论更多的版本定义方式;)

请尊重:

  • 奇怪的需要/使用可能导致故障检测模块版本的模块(编译与运行时)
  • PAUSE/CPAN解析(和其他常见服务)
  • 最终用户的可读性
  • 开发人员的可维护性

在Perl中声明包版本方法的优缺点是什么?

方法1

package PackageName;
BEGIN {
  use version 0.77; our $VERSION = version->new('v0.0_1');
}
Run Code Online (Sandbox Code Playgroud)

方法2

package PackageName;
BEGIN {
  our $VERSION = 0.000_01;
}
Run Code Online (Sandbox Code Playgroud)

方法3

package PackageName;
BEGIN {
  our $VERSION = 0.0.1;
}
Run Code Online (Sandbox Code Playgroud)

方法4

package PackageName;
use version 0.77; our $VERSION = version->new('v0.0_1');
Run Code Online (Sandbox Code Playgroud)

方法5

package PackageName;
our $VERSION = 0.000_01;
Run Code Online (Sandbox Code Playgroud)

方法6

package PackageName;
our $VERSION = 0.0.1;
Run Code Online (Sandbox Code Playgroud)

versioning perl timtowtdi

15
推荐指数
2
解决办法
346
查看次数

为什么Perl说()没有在FCGI模式中附加换行符?

Perl在FCGI模式下的函数我有一个奇怪的行为.新线不会被追加.为什么会这样?

示例代码:

#!/usr/bin/perl -wT
use strict;
use warnings;
use utf8;
use feature qw( say );
use FCGI ();
use CGI qw( header );
my $cnt = 0;
my $req = FCGI::Request();
while ( $req->Accept() >= 0 ) {
    $cnt++;
    print header( -type => 'text/plain', -charset => 'utf-8' );
    say "Hello, world #$cnt";
    print "\n";
    print "$$\n"
    print 'Test 1234';
}
Run Code Online (Sandbox Code Playgroud)

预期结果(以及通过控制台的实际结果):

Content-Type: text/plain; charset=utf-8

Hello, world. #1

6712
Test 1234
Run Code Online (Sandbox Code Playgroud)

通过Apache/FCGI的实际结果:

Content-Type: text/plain; charset=utf-8

Hello, world. #3
6709
Test 1234 …
Run Code Online (Sandbox Code Playgroud)

apache perl cgi fastcgi

11
推荐指数
1
解决办法
283
查看次数

如何安排 GitHub Actions 每晚构建,但仅在最近代码更改的地方运行它?

我想使用 GitHub Actions 进行自动夜间构建(来自开发分支的每日快照)。

为了降低计费成本,我希望 GitHub Actions 工作流仅在自上次 GitHub Actions 夜间构建工作流运行以来有新提交时触发(或执行操作)。

如何安排 GitHub Actions 每晚构建,但仅在自上次每晚运行以来代码发生更改的地方运行它?

请注意,还有其他 GitHub 操作工作流程,不会干扰此夜间构建。

github-actions

9
推荐指数
2
解决办法
1996
查看次数

如何在Perl中使用正则表达式中的分词,星号,分词?

我在Perl中有一个复杂的预编译正则表达式.对于大多数情况下,正则表达式是正确的,并且匹配它应该的一切,不应该没有.除了一点.

基本上我的正则表达式看起来像:

my $regexp = qr/\b(FOO|BAR|\*)\b/;
Run Code Online (Sandbox Code Playgroud)

不幸的是m/\b\*\b/不会匹配example, *.只会m/\*/因为误报而无法使用.有没有解决方法?

从评论-误报是:**,example*,exam*ple

正则表达式的用途是什么?-它应该提取关键字(一个是单个星号),同事已经输入了产品数据.目标是将此信息从自由文本字段移动到原子字段中.

regex perl

8
推荐指数
1
解决办法
981
查看次数

如何使用JSON更新Solr中的多个文档?

如何使用JSON更新Solr 4.5.1中的多个文档?我试过这个,但它不起作用:

POST /solr/mycore/update/json:

{
  "commit": {},
  "add": {
    "overwrite": true,
    "doc": [{
        "thumbnail": "/images/404.png",
        "url": "/404.html?1",
        "id": "demo:/404.html?1",
        "channel": "demo",
        "display_name": "One entry",
        "description": "One entry is not enough."
      }, {
        "thumbnail": "/images/404.png",
        "url": "/404.html?2",
        "id": "demo:/404.html?2",
        "channel": "demo",
        "display_name": "Another entry",
        "description": "Another entry is required."
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

json solr solr4

7
推荐指数
2
解决办法
2万
查看次数

如何使用cookie在持久的Perl Web应用程序中处理SOAP服务?

由于SOAP :: WSDL的崩溃产生了我真正的Perl模块,我必须寻找其他东西才能处理SOAP服务.生成的模块将无法从Perl v5.18开始工作.

我的Web应用程序有以下情况.

  • 我有一个PSGI兼容,Dancer2驱动,持久的Web应用程序.
  • Web应用程序处理多个并发客户.
  • Web应用程序位于客户和外部SOAP服务之间.
  • SOAP服务通过cookie使用客户会话,这些cookie必须在内部为客户集成在Web应用程序中.
  • Web应用程序包含SOAP服务的WSDL文件副本.

我正在寻找一个模块,它从WSDL文件中创建一个接口,并处理参数/模式验证以及与SOAP服务的通信.我想调用带参数的方法(SOAP调用)(SOAP调用参数)并接收清理后的数据或响应的对象结构.

问题是Web应用程序需要处理多个并发客户cookie会话.所以我需要一个模块,它可以覆盖特定请求的cookie jar,并在请求后提取cookie而不会干扰其他并发请求.

我找到了XML :: Compile,我可以在web应用程序启动时将其初始化为单例.但是通过这个解决方案,我遇到了干扰其他客户请求的问题.因此请求不会分开.为每个请求初始化XML :: Compile都不是解决方案,因为它将解析WSDL并为客户发送到Web应用程序的每个请求反复生成处理程序.

是否有任何解决方案/模块符合我的需求,或者我错过了使用XML :: Compile的东西,它有可能吗?

perl soap wsdl web-services dancer

7
推荐指数
1
解决办法
450
查看次数

为什么在PowerShell的Get-Content,Regex和Set-Content之后所有新行都消失了?

我想将文件模板加载到变量中,修改变量中的数据,并将修改后的模板输出到变量的新位置.

问题是PowerShell正在从我的模板中删除换行符.

输入文件(模板文件)具有Unix行结尾,这也是输出所必需的,因为修改版本的接收者是基于Unix的系统.

我有以下代码,结果是一个连接的单行:

[String] $replacement = "Foo Bar"
[String] $template = Get-Content -Path "$pwd\template.sh" -Encoding UTF8
$template = $template -replace '<REPLACE_ME>', $replacement
$template | Set-Content -Path "$pwd\script.sh" -Encoding UTF8
Run Code Online (Sandbox Code Playgroud)

输入模板:

#!/bin/sh
myvar="<REPLACE_ME>"
echo "my variable: $myvar"
exit 0
Run Code Online (Sandbox Code Playgroud)

导致:

#!/bin/sh myvar="Foo Bar" echo "my variable: $myvar" exit 0
Run Code Online (Sandbox Code Playgroud)

在我看来,某个LF地方被一个简单的空白所取代.最后在脚本的末尾添加了一个CR LF在模板文件中不存在的内容.

如何保留行结尾并防止在最终脚本中添加更多(CR LF)错误的行结尾?

powershell newline

7
推荐指数
3
解决办法
4479
查看次数

如何禁用特定 ASP.NET Core 5.0 Web API 操作的自动模型绑定?

我有一个第三方专有应用程序,我需要在 ASP.NET Core 5.0 Web API 应用程序中为其编写一个 API 端点。

第三方应用程序发出 HTTP post 请求,请求正文中仅包含二进制数据,以及内容类型application/x-www-form-urlencoded,或者有时application/octet-stream(有点随机,但数据相同)。

我的动作处理程序如下所示:

[Route("~/Validation")]
[ApiController]
public class ValidationController : ControllerBase
{
    [HttpPost("{requestId}")]
    [Consumes(@"application/octet-stream", @"application/x-www-form-urlencoded")]
    [Produces(@"application/octet-stream")]
    public async Task<IActionResult> Validation_Post([FromRoute] string requestId)
    {
        byte[] rawRequestBody = Array.Empty<byte>();
        {
            long streamInitialPos = 0;
            if (Request.Body.CanSeek) // rewind for this read.
            {
                streamInitialPos = Request.Body.Position;
                Request.Body.Seek(0, SeekOrigin.Begin);
            }
            using (var ms = new MemoryStream())
            {
                await Request.Body.CopyToAsync(ms);
                rawRequestBody = ms.ToArray() ?? throw new NullReferenceException();
            }
            if (Request.Body.CanSeek) // …
Run Code Online (Sandbox Code Playgroud)

c# model-binding asp.net-core asp.net-core-webapi asp.net-core-5.0

6
推荐指数
1
解决办法
4617
查看次数