在使用解密文本时RSACryptoServiceProvider.Decrypt,我收到错误:
解码OAEP填充时发生错误.
这是我的代码:
CspParameters cspParam = new CspParameters();
cspParam = new CspParameters();
cspParam.Flags = CspProviderFlags.UseMachineKeyStore;
clsCertificates cc = new clsCertificates();
string a = "";
cc.OpenStoreIE(ref a);
cc.SetProperties();
X509Certificate2 cert = new X509Certificate2();
cert = cc.x509_2Cert;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cspParam);
//to gentrate private and public keys from the certificate
rsa.FromXmlString(cert.PublicKey.Key.ToXmlString(false));
String publicKey = rsa.ToXmlString(false); // gets the public key
String privateKey = rsa.ToXmlString(true); // gets the private key working if paramter is false if true give error key …Run Code Online (Sandbox Code Playgroud) c# encryption rsa rsacryptoserviceprovider digital-signature
我有一个直通NDIS中间驱动程序,由两个.inf文件(一个标准和一个微型端口)和一个.sys文件组成.由于Windows 7驱动程序签名要求,我必须获得代码签名证书并签署.sys文件,以便驱动程序安装在64位系统上.这很好用,我有很多成功的Windows 7安装.
但是,Windows 8 Consumer Preview(64位)上的相同安装程序失败.如果我在Windows Signature Enforcement关闭的情况下启动,它会正确安装,因此它绝对是一个签名问题.为了让我的驱动程序安装,我需要遵循Windows 7和Windows 8之间的新要求?
你能帮我找一个简单的教程,讲解如何在java中使用ECDSA算法对字符串进行签名.但是没有使用任何像bouncycastle这样的第三方库.只是JDK 7.我发现很难搜索一个简单的例子,我是密码学的新手.
import java.io.*;
import java.security.*;
public class GenSig {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
/*
* Generate a DSA signature
*/
try {
/*
* Generate a key pair
*/
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DSA", "SUN");
SecureRandom random = SecureRandom.getInstance("SHA1PRNG", "SUN");
keyGen.initialize(1024, random);
KeyPair pair = keyGen.generateKeyPair();
PrivateKey priv = pair.getPrivate();
PublicKey pub = pair.getPublic();
/*
* Create a Signature object and initialize it with the private key
*/
Signature …Run Code Online (Sandbox Code Playgroud) 我试图在模拟器中运行我的应用程序,并一直收到以下错误:
安装失败,因为APK未签名或签名不正确.如果这是基于Gradle的项目,请确保在Gradle构建脚本中指定了签名配置.
我正在尝试使用调试设置运行应用程序,因此不需要签署应用程序,因为它将在构建时获得临时签名.
我有一个问题,我签署xml文档并在此之后验证签名并验证通过,但是当我将文档序列化为字节数组然后将其反序列化回文档时,签名验证失败.
以下是用于验证和序列化/反序列化的方法:
public class DocumentSigner {
@Override
public byte[] transformToByteArray(Document doc) throws Exception {
TransformerFactory transformerFactory = TransformerFactory
.newInstance();
Transformer transformer = transformerFactory.newTransformer();
ByteArrayOutputStream os = new ByteArrayOutputStream();
transformer.transform(new DOMSource(doc), new StreamResult(os));
return os.toByteArray();
}
private Document byteArrayToXmlDoc(byte[] documentoXml) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
factory.setIgnoringElementContentWhitespace(true);
DocumentBuilder builder = factory.newDocumentBuilder();
return builder.parse(new ByteArrayInputStream(documentoXml), "UTF-8");
}
@Override
public Boolean validate(byte[] byteArrayDoc, Integer certificatePropertiesId) throws Exception {
Document doc = byteArrayToXmlDoc(byteArrayDoc);
return validate(doc, certificatePropertiesId);
}
public Boolean validate(Document doc, Integer …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用WebCrypto API签名数据,但是我不想创建私钥/公钥并将其导出到pkcs#1或8,我真的想使用用户的PKCS#12来签署数据.我已经阅读了W3C规范,但不能做很多,也找不到任何关于如何做到这一点的好材料.现在我想把ActiveX和Java小程序放在一边.有没有办法调整以下内容:
var buffer = encode(prompt("Please enter your password"));
//TODO:
//implement a prompt for a pfx or cert
return crypto.subtle.importKey("raw", buffer, "PBKDF2", false, usages);
//TODO:
//instead of importing it, ask for the certificate's pass to sign data
//with crypto.subtle.sign
Run Code Online (Sandbox Code Playgroud)
有什么指针吗?
更新 这是我一直在工作的代码
<script src="forge.min.js"></script>
<script>
var errorsReportedByVerifier;
errorsReportedByVerifier = checkStorage() && checkBrowserAPIs();
if (!errorsReportedByVerifier){
console.log("adding click event");
document.getElementById('btnPfx').addEventListener('click', handlePFXFile, false);
storeVariables();
getVariables();
}
function handlePFXFile(evnt) {
console.log("handling pfx")
//alert(document.getElementById('pfx').value);
//error happens in 1st line
//error object does not accept property …Run Code Online (Sandbox Code Playgroud) javascript digital-certificate digital-signature webcrypto-api
在iOS上,Certificate,Key和Trust Services API包含以下填充类型:
kSecPaddingNonekSecPaddingPKCS1kSecPaddingPKCS1MD2kSecPaddingPKCS1MD5kSecPaddingPKCS1SHA1在对用户苹果CDSA邮件列表中称,"kSecPaddingPKCS1 [...]是一样的PKCS#1 1.5".证书,密钥和信任服务参考注释后三种填充类型(kSecPaddingPKCS1MD2,kSecPaddingPKCS1MD5和kSecPaddingPKCS1SAH),"标准ASN.1填充将完成,以及底层RSA操作的PKCS1填充".
kSecPaddingPKCS1?kSecPaddingPKCS1仅仅根据RFC 3447的基本RSA运算的原料填充?SecKeyRawSign(),开发人员是否需要自己使用kSecPaddingPKCS1并执行ASN.1填充?是否需要ASN.1填充或是否可以省略?任何暗示我指向正确方向的提示都受到高度赞赏.
我正在使用D2009中的Clever Internet Suite来签署SOAP消息,并且需要一种在本地验证签名文档的方法.服务器保持弹出SOAP消息,并显示错误"哈希值不匹配".
我必须在提交之前略微操作文档,而不是签名部分,因此我需要找出这种操作是否导致错误.我还可以获取服务器收到的文档,并希望验证该副本以查看传输中是否有变化.
有没有办法使用Clever Suite?或者也许是Crypto.api?即使是我可以提供文档和公钥的独立应用程序也没问题.
感谢您提供的任何信息.
我对.NET程序集的密钥签名工作方式感到困惑.我通过插入密码并生成.pfx文件,用强名称签署了我的.NET程序集...
这怎么能保护我的dll?有人能用简单的语言向我解释一下吗?我是数字签名的新手,你必须采取一大步才能让我理解这一点
tl; dr:我正在寻找一个可以提供x.509文件和输入PDF的CLI工具,并带有签名的PDF.NodeJS的最佳场景
嗨,您好.我有点沮丧.我正在寻找一种可以使用命令行对PDF文件进行签名的工具.我使用名为handy-signatur.at(来自www.a-trust.at的服务)的在线服务生成x.509证书.
我发现一个页面提到了几个工具,但似乎所有这些工具都已过时,或者我只是为了使它们工作而愚蠢.
我特别尝试过PortableSigner,但是需要Java 6而我无法在Ubuntu(服务器和桌面版)17.04上运行它.
/编辑:我无法使PortableSigner工作,因为Java 6和7不再可用,甚至可能无法安全使用.
是否有任何命令行工具来签署PDF?
非常感谢你们!
java ×3
c# ×2
cryptography ×2
encryption ×2
android ×1
bouncycastle ×1
c++ ×1
certificate ×1
delphi ×1
delphi-2009 ×1
driver ×1
install ×1
ios ×1
iphone ×1
javascript ×1
node.js ×1
pdf ×1
rsa ×1
security ×1
soap ×1
windows-8 ×1
xml ×1