问题列表 - 第15008页

使用PEM编码的加密私钥本地签名消息

我正在尝试使用PEM(X.509)证书(存储在磁盘上的privateKey.pem文件中)来签署通过Java中的套接字发送的消息,但是在找到一个接近的示例时遇到了很多麻烦.我通常是一个C++人,他只是在帮助这个项目,所以我把它们整合到代码中有点困难,因为我不熟悉API.

不幸的是,我只限于Java(1.6.0 Update 16)标准的方法,所以虽然我发现了一个使用BouncyCastlePEMReader的类似例子,但它对这个特定的项目没有多大帮助.

我的privateKey.pem密钥是passphrase protected,格式为:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED DEK-Info:
DES-EDE3-CBC,63A862F284B1280B
[...]
tsjQI4H8lhOBuk+NelHu7h2+uqbBQzwkPoA8IqbPXUz+B/MAGhoTGl4AKPjfm9gu
OqEorRU2vGiSaUPgDaRhdPKK0stxMxbByUi8xQ2156d/Ipk2IPLSEZDXONrB/4O5
[...]
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

它们是使用OpenSSL生成的:

openssl.exe genrsa -out private_key.pem 4096
Run Code Online (Sandbox Code Playgroud)

我无法在运行之前将此密钥转换为DER或其他格式,所需的任何转换都需要在代码内部完成,因为密钥需要易于更换且格式仍为PEM.

我听过各种各样的事情,我并不完全确定,并且希望这里的集体思想可以帮助将各个部分拉到一起.



我听说它说PEM证书需要Base64解码才能将其转换为可以使用的DER证书.我有一个名为MiGBase64的Base64解码工具,但我不完全确定如何/何时需要解码.


我已经迷失在Java API文档中,试图追踪存在的15种不同类型的Keys,KeyStores,KeyGenerators,Certificates等,但我对它们中的任何一种都不熟悉,无法正确识别我需要的使用,以及如何一起使用它们.


基本算法看起来很简单,这就是为什么我无法编写同样简单的实现特别令人沮丧的原因:

1)从文件中读取privateKey.pem
2)将私钥加载到XXX类中,使用密码短语解密密钥
3)使用带有Signature类的密钥对象对消息进行签名



非常感谢帮助,特别是示例代码.我一直在努力寻找这个问题的有用示例,因为大多数"关闭"示例都是使用BouncyCastle生成新密钥,或者只是使用不适用于此处的不同形式的密钥/类.

这似乎是一个非常简单的问题,但它让我发疯,任何非常简单的答案?

java signature pem

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

如何在SQL中替换多个字符?

这是基于类似的问题如何替换Access SQL中的多个字符?

我写了这个,因为sql server 2005似乎对where子句中的19个替换的replace()函数有限制.

我有以下任务:需要在列上执行匹配,并使用replace()函数提高匹配剥离多个不需要的字符的机会

DECLARE @es NVarChar(1) SET @es = ''
DECLARE @p0 NVarChar(1) SET @p0 = '!'
DECLARE @p1 NVarChar(1) SET @p1 = '@'
---etc...

SELECT *
FROM t1,t2 
WHERE  REPLACE(REPLACE(t1.stringkey,@p0, @es), @p1, @es) 
     = REPLACE(REPLACE(t2.stringkey,@p0, @es), @p1, @es)    
---etc 
Run Code Online (Sandbox Code Playgroud)

如果where子句中有> 19 REPLACE(),则它不起作用.所以我想出的解决方案是在这个例子中创建一个名为trimChars的sql函数(请原谅他们从@ 22开始

CREATE FUNCTION [trimChars] (
   @string varchar(max)
) 

RETURNS varchar(max) 
AS
BEGIN

DECLARE @es NVarChar(1) SET @es = ''
DECLARE @p22 NVarChar(1) SET @p22 = '^'
DECLARE @p23 NVarChar(1) SET @p23 …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2005 sql-function

34
推荐指数
4
解决办法
15万
查看次数

如何在输出之前修改整个ASP.NET页面内容?

我有一个页面上有一堆用户控件.我希望能够在我的代码中替换的内容中直接使用"宏"或"占位符".这应该不重要,但我使用Ektron作为我的CMS.

在发送到客户端之前,是否有任何页面事件可以挂钩以对整个呈现的页面内容进行字符串替换?

UPDATE

这是我目前用来完成此任务的代码:

protected override void Render(HtmlTextWriter writer)
{
    string content = string.Empty;

    using (var stringWriter = new StringWriter())
    using (var htmlWriter = new HtmlTextWriter(stringWriter))
    {
        // render the current page content to our temp writer
        base.Render(htmlWriter);
        htmlWriter.Close();

        // get the content
        content = stringWriter.ToString();
    }

    // replace our placeholders
    string newContent = content.Replace("$placeholder1$", "placeholder1 data").Replace("$placeholder2$", "placeholder2 data");

    // write the new html to the page
    writer.Write(newContent);
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net render ektron

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

安装自行开发的Windows服务

我正在尝试部署我写的服务.这是InstallLog文件:

Installing assembly 'c:\Users\brwatson\Development\Projects\TweetLinks\TweetLinkQueue\bin\Debug\TweetLinkQueue.exe'.
Affected parameters are:
   logtoconsole = 
   assemblypath = c:\Users\brwatson\Development\Projects\TweetLinks\TweetLinkQueue\bin\Debug\TweetLinkQueue.exe
   logfile = c:\Users\brwatson\Development\Projects\TweetLinks\TweetLinkQueue\bin\Debug\TweetLinkQueue.InstallLog
Installing service TweetLinkService...
Creating EventLog source TweetLinkService in log Application...
Rolling back assembly 'c:\Users\brwatson\Development\Projects\TweetLinks\TweetLinkQueue\bin\Debug\TweetLinkQueue.exe'.
Affected parameters are:
   logtoconsole = 
   assemblypath = c:\Users\brwatson\Development\Projects\TweetLinks\TweetLinkQueue\bin\Debug\TweetLinkQueue.exe
   logfile = c:\Users\brwatson\Development\Projects\TweetLinks\TweetLinkQueue\bin\Debug\TweetLinkQueue.InstallLog
Restoring event log to previous state for source TweetLinkService.
An exception occurred during the Rollback phase of the System.Diagnostics.EventLogInstaller installer.
System.Security.SecurityException: The source was not found, but some or all event logs could not be searched.  Inaccessible logs: Security.
An …
Run Code Online (Sandbox Code Playgroud)

c# windows-services

35
推荐指数
3
解决办法
4万
查看次数

触发ScrollViewer的滚动条可见性(WPF)

是否可以创建基于ScrollViewer滚动条可见性触发的触发器?我有一个ScrollViewer与它VerticalScrollBarVisibility设置为Auto,我想改变一些的ScrollViewer的属性只有当在滚动条实际上是可见的.

像这样的东西:

<ScrollViewer VerticalScrollBarVisibility="Auto">
    <ScrollViewer.Triggers>
        <Trigger Property="IsScrollBarVisible" Value="True">
            <!-- Setters -->
        </Trigger>
    </ScrollViewer.Triggers>
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)

wpf xaml triggers scrollviewer

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

字节数组到Image对象

我在Java中给出了一个byte []数组,其中包含图像的字节,我需要将其输出到图像中.我该怎么做呢?

非常感谢

java arrays byte image

54
推荐指数
3
解决办法
11万
查看次数

属性与功能(特别是.NET)

我已经阅读了关于这个主题的一些讨论,而且我有些不明白.

最常见的答案似乎是:使用ReadOnly属性返回缓存数据,使用Function返回非缓存数据.根本不要使用WriteOnly属性,因为"它没有意义".

没有性能原因.在IL中,MyProperty get_MyProperty以及set_MyProperty方法存在.唯一的原因显然是应该假设上述答案.

那么,为什么还要使用ReadOnly Properties呢?为什么不将变量设为Public而不是Private?然后为什么要打扰属性呢?缓存数据 - >公共变量,非缓存数据 - >函数,写入数据 - > Sub

让我们忘记以上所有,并使用属性作为一个方便的功能?获取和设置数据的一个"项目".使用常识来了解Get是否不会返回缓存数据(可能导致延迟).

-Edit-我看到人们或多或少同意物业是最好的选择.我只是不明白为什么我发现了很多关于人们提倡反对财产的讨论.

.net properties function

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

是否有可能在Windows和Linux中使用Cocoa进行开发?

我开始学习Objective-C而且我没有Mac(而且我没有计划得到它),但是当我看到Cocoa是一个非常好的Objective-C开发框架时,我想要要知道:在Windows和Linux中使用Cocoa是否可以开发?

谢谢.

cocoa frameworks objective-c

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

在C中:如何设置指向作为数组的结构成员的指针?

我应该如何编写代码来示例恰好是结构成员的数组的特定数组索引?以下代码给了我一些问题.

// main.c

void clean_buffers(void); // prototype

struct DEV_STATUS {
    unsigned char ADDR;
    unsigned char DEV_HAS_DATA;
    unsigned char ETH_HAS_DATA;
    unsigned char DATA[20];
};

struct DEV_STATUS g_cmdQueue[60] = {0};

void main(void) {

    clean_buffers();

    while (1) {
        ;// MCU tasks        
    }
}

void clean_buffers(void) {
    unsigned char theCount = 0;
    byte queIdx;
    for (queIdx = 0; queIdx < 59; queIdx++) {
        struct DEV_STATUS *p_struct;
        unsigned char *p_data;
        p_struct = &g_cmdQueue[queIdx];
        p_data = &p_struct->DATA;
        p_struct->ADDR = 0;
        p_struct->DEV_HAS_DATA = 0;
        p_struct->ETH_HAS_DATA = 0; …
Run Code Online (Sandbox Code Playgroud)

c pointers structure member dereference

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

如何在T-SQL中透视XML列的属性

我需要在表中的XML列上执行一个数据透视表,其中XML包含多个具有许多属性的元素.每个元素中的属性始终相同,但元素的数量会有所不同.让我举个例子...

FormEntryId |               FormXML                                    | DateCreated
====================================================================================
1           |<Root>                                                    | 10/15/2009
            |  <Form>                                                  |
            |    <FormData FieldName="Username" FieldValue="stevem" /> |
            |    <FormData FieldName="FirstName" FieldValue="Steve" /> |
            |    <FormData FieldName="LastName" FieldValue="Mesa" />   |
            |  </Form>                                                 |
            |</Root>                                                   |
            |                                                          |
------------------------------------------------------------------------------------
2           |<Root>                                                    | 10/16/2009
            |  <Form>                                                  |
            |    <FormData FieldName="Username" FieldValue="bobs" />   |
            |    <FormData FieldName="FirstName" FieldValue="Bob" />   |
            |    <FormData FieldName="LastName" FieldValue="Suggs" />  |
            |    <FormData FieldName="NewField" FieldValue="test" />   |
            |  </Form>                                                 |
            |</Root>                                                   |
Run Code Online (Sandbox Code Playgroud)

我需要结束每个不同的FieldName属性值(在本例中为Username,FirstName,LastName和NewField)的结果集,并将其对应的FieldValue属性作为值.我上面给出的例子的结果如下:

FormEntryId | Username …
Run Code Online (Sandbox Code Playgroud)

xml sql t-sql sql-server xquery

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