小编str*_*nik的帖子

RSA_public_decrypt和MS Crypto API等效

我正在尝试开发许可证验证解决方案.许可证使用OpenSSL的RSA_private_encrypt功能在服务器上进行编码.

对于Mac OX XI使用RSA_public_decrypt,它就像一个魅力.在Windows上我必须使用非常小的代码,因此我无法与OpenSSL或其他lib链接,我必须使用MS Crypto API.

我花了几天时间试图找出问题所在,但没有运气.我可以成功导入公钥,但在这里我的成功结束了.我知道我需要用CAPI来反转字节顺序,所以这可能不是问题.

我已经尝试了所有的东西,包括CryptVerifyMessageSignatureWithKeyCryptDecodeObject用不同的参数加载blob,但仍然没有运气.

它总是最终结束GetLastError() == CRYPT_E_ASN1_BADTAG,我认为这意味着BLOB不是ASN1格式的......谷歌没有告诉任何关于RSA_private_encrypt的输出格式...所以我完全迷失在这里.

这是基于OpenSSL的OS X代码:

void cr_license_init(const char* lic) {
    __cr_license_ = lic;
    unsigned char lic_encoded[CR_LIC_LEN];

    BIO* b64 = BIO_new(BIO_f_base64());
    BIO* licIn = BIO_new_mem_buf((void*)lic, -1);
    licIn = BIO_push(b64, licIn);

    if(BIO_read(licIn, lic_encoded, CR_LIC_LEN) == CR_LIC_LEN) {

        const unsigned char* key_data = license_pub_der;
        RSA* r = d2i_RSA_PUBKEY(NULL, &key_data, sizeof(license_pub_der));

        if(r != NULL) {
            if(__cr_license_data_ != NULL) {
                free((void*)__cr_license_data_);
            }
            __cr_license_data_ = malloc(CR_LIC_LEN);
            if(RSA_public_decrypt(CR_LIC_LEN, lic_encoded, …
Run Code Online (Sandbox Code Playgroud)

windows openssl cryptography rsa cryptoapi

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

iframe中的sessionStorage

我将在我的页面上有几个iframe,我将非常密集地使用其中的sessionStorage.我很好奇的是,如果我将为所有iframe分别存储或共享存储空间?尺寸限制如何适用?

javascript iframe session-storage

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

“无法找到页面/ 404处理程序”到Swift Express Server

我正在通过Swift Express编写最简单的服务器

我想为“找不到网址”添加自定义处理程序,以便如果用户输入“ / notFoundUrl”,他将看到类似的内容:“找不到网址“ notFoundUrl”,请转到主页”。

我已经添加:

app.get("/:notFoundUrl+") { (request:Request<AnyContent>)->Action<AnyContent> in
   print(request.params["notFoundUrl"])
   return Action<AnyContent>.render("index", context: ["hello": "Page Not Found: " + request.params["notFoundUrl"]!])
}
Run Code Online (Sandbox Code Playgroud)

但这是不合适的,因为:

  • 顺序很重要。
  • 我无法返回404错误。

那么如何将自定义“找不到页面/ 404处理程序”添加到Swift Express Server

linux web swift swift2 swiftexpress

5
推荐指数
1
解决办法
130
查看次数