标签: pkcs#7

AES/CBC/PKCS5Padding与AES/CBC/PKCS7Padding具有256个密钥大小的性能java

我目前正在AES/CBC/PKCS5Padding用于加密具有256字节密钥大小的Java文件,但在搜索时我在stackexchange PKCS#5-PKCS#7 Padding上找到了它,并且提到了,

PKCS#5填充是PKCS#7填充的子集,用于8字节块大小

所以我想知道

  1. 对于上述配置,性能AES/CBC/PKCS7Padding会更好AES/CBC/PKCS5Padding吗?
  2. 我们如何在Java中配置块大小,如上所述

    PKCS#7填充适用于1到255字节的任何块大小.

我的示例代码是,

SecureRandom rnd = new SecureRandom();
IvParameterSpec iv = new IvParameterSpec(rnd.generateSeed(16));

KeyGenerator generator = KeyGenerator.getInstance("AES");
generator.init(256);
SecretKey k = generator.generateKey();

Cipher c = Cipher.getInstance("AES/CBC/PKCS5Padding");
c.init(Cipher.ENCRYPT_MODE, k, iv);
Run Code Online (Sandbox Code Playgroud)

java encryption aes pkcs#5 pkcs#7

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

如何使用PHP从PDF检索数字签名信息?

我有app需要从PDF文件上的"附加"数字签名中检索一些数据(签名者名称).

我在Java和C#中只找到了使用iText类AcroFields方法GetSignatureNames的示例

编辑:我用dump_data_fields和generate_fpdf 尝试了pdftk,结果是(不幸的):

/Fields [
<<
/V /dftk.com.lowagie.text.pdf.PdfDictionary@3048918
/T (Signature1)
>>]
Run Code Online (Sandbox Code Playgroud)

FieldType: Signature
FieldName: Signature1
FieldFlags: 0
FieldJustification: Left
Run Code Online (Sandbox Code Playgroud)

提前致谢 !

php pdf digital-signature pkcs#7

21
推荐指数
1
解决办法
2701
查看次数

使用RSA在iOS上签名和验证

如何使用RSA密钥在iOS上签名和验证某些数据(最好使用系统自己的libcommonCrypto)?

rsa ios commoncrypto pkcs#7

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

如何从AES加密字符串添加/删除PKCS7填充?

我正在尝试使用128位AES加密(ECB)加密/解密字符串.我想知道的是如何添加/删除PKCS7填充.似乎Mcrypt扩展可以处理加密/解密,但必须手动添加/删除填充.

有任何想法吗?

php encryption aes mcrypt pkcs#7

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

在python中获取PKCS7签名者链

我有签名的PKCS7消息.它包含数据和签名证书(具有整个信任链).

我有一个代码,它使用m2crypto来获取证书.

bio = BIO.MemoryBuffer(pkcs7message)
p7 = SMIME.PKCS7(m2.pkcs7_read_bio_der(bio._ptr()))
sk = X509.X509_Stack()
certStack = p7.get0_signers(sk)
Run Code Online (Sandbox Code Playgroud)

有用.但是,certStack只返回一个证书(而不是返回整个证书链.

两个问题:

  • 我错过了什么(可能有一个选项,让它知道我需要整个链)
  • 有没有其他方法如何获得整个链(可能使用pyopenssl)?

python certificate pyopenssl m2crypto pkcs#7

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

从php中的PKCS7签名中提取证书

我需要从pkcs7签名文件中提取用户证书.我可以使用以下命令通过命令行执行此操作:

openssl pkcs7 -in somesign.pks7 -inform PEM -print_certs
Run Code Online (Sandbox Code Playgroud)

这将为我提供整个证书链,我可以处理生成的文件以提取我想要的内容.

有没有办法用openssl_pkcs7_命令做到这一点?我看到openssl_pkcs7_verify有$ outfilename,其中将存储证书,但我没有签名的消息,但似乎$ filename应该同时具有签名和消息,这不是我的情况(签名是单独的文件).

php openssl signature smime pkcs#7

13
推荐指数
1
解决办法
2709
查看次数

使用JAVA中的PKCS#7对数据进行签名

我想.exe使用PKCS#7 签署一个文本文件(可能是将来的文件或其他文件)并使用Java验证签名.

  1. 我需要知道什么?
  2. 我在哪里可以找到API(.jar和文档)?
  3. 为了签署数据和验证数据,我需要遵循哪些步骤?

如果可能,请提供给我的代码段.

java cryptography pkcs#7

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

如何使用pdfbox在Java中签署pdf

我正在尝试使用pdfbox库签署pdf.我现在卡住了,真的需要帮助.

这是我的代码:

private static void signPdf(PDDocument document) throws Exception 
{
    PDSignature sig = new PDSignature();
    sig.setFilter(COSName.ADOBE_PPKLITE);
    sig.setSubFilter(COSName.ADBE_PKCS7_DETACHED);
    sig.setByteRange(new int[] {'a','a','a','a'});
    sig.setContents(new byte[]{(byte) 23, (byte) 23, (byte) 23, (byte) 23});

    SignatureOptions options = new SignatureOptions();

    document.addSignature(sig, new SignatureInterface() {
        public byte[] sign(InputStream content)
                throws SignatureException, IOException       {        
             //this should be made MD5 checksum?           
            return new byte[]{(byte) 'a', (byte) 'a', (byte) 'a', (byte) 'a'};
        }
    }, options);
}
Run Code Online (Sandbox Code Playgroud)

然后我保存我的pdf,但是:1)我注意到从未调用过sign方法2)我应该在哪里附加certyficate?在签名方法?

PDF格式:

/Type /Sig
/Filter /Adobe.PPKLite
/SubFilter /adbe.pkcs7.sha1
/Contents <0000000000. a lot of zeros..000> …
Run Code Online (Sandbox Code Playgroud)

pdf sign certificate pdfbox pkcs#7

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

验证node.js中的PKCS#7(PEM)签名/解包数据

我从第三方系统获得了PKCS#7加密包.该软件包未经过压缩,未加密,PEM编码,使用X.509证书签名.我还有来自提供商的PEM证书文件.

里面的数据是XML

我需要在Node.JS中执行以下操作:

  • 提取数据
  • 验证签名

一个示例包(没有敏感信息,数据是指我们的qa系统)http://pastebin.com/7ay7F99e

javascript pem node.js pkcs#7

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

如何针对X509Certificate2Collection链验证X509Certificate2

我正在编写一个SAML 2.0响应解析器来处理ASP.Net中的POST身份验证(在C#和MVC中,但这不太相关).

所以我有一个.p7b要验证的文件,可以读入一个X509Certificate2Collection和一个示例断言 - 一个基本的64位编码的SAML响应.

理想情况下,我想使用内置的WSSecurityTokenSerializer,但失败了,所以我正在寻找一种有效的方法.

我正在直接读取XML:

// get the base 64 encoded SAML
string samlAssertionRaw = GetFromHttpRequest();

// load a new XML document
var assertion = new XmlDocument { PreserveWhitespace = true };
assertion.LoadXml(samlAssertionRaw);

// use a namespace manager to avoid the worst of xpaths
var ns = new XmlNamespaceManager(assertion.NameTable);
ns.AddNamespace("samlp", @"urn:oasis:names:tc:SAML:2.0:protocol");
ns.AddNamespace("saml", @"urn:oasis:names:tc:SAML:2.0:assertion");
ns.AddNamespace("ds", SignedXml.XmlDsigNamespaceUrl);

// get the signature XML node
var signNode = assertion.SelectSingleNode(
    "/samlp:Response/saml:Assertion/ds:Signature", ns);

// load the …
Run Code Online (Sandbox Code Playgroud)

.net x509certificate single-sign-on saml-2.0 pkcs#7

10
推荐指数
1
解决办法
8061
查看次数