我正在尝试使用iText Java.当您运行示例" 如何签名 "时,会发生以下错误:
Caused by: java.lang.ClassNotFoundException: org.bouncycastle.tsp.TimeStampTokenInfo
Run Code Online (Sandbox Code Playgroud)
根据"iText入门 - 如何使用iText签名PDF",我必须使用BouncyCastle.
我从BouncyCastle下载页面 下载了文件:bcprov-jdk15on-147.jar .
并添加到项目中:Java Build Path/Libraries/Add External JARs ...
我添加了以下行:
Security.addProvider(new BouncyCastleProvider());
Run Code Online (Sandbox Code Playgroud)
运行该示例时,会发生相同的错误.
所以我下载了另一个文件:bcpkix-jdk15on-147.jar,标题为"PKIX/CMS/EAC/PKCS/OCSP/TSP/OPENSSL"
并添加到项目中:Java Build Path/Libraries/Add External JARs ...
现在我有了两个罐子.
运行该示例时,会发生以下错误:
Caused by: java.lang.ClassNotFoundException: org.bouncycastle.asn1.DEREncodable
Run Code Online (Sandbox Code Playgroud)
我尝试下载文件"bcprov-ext-jdk15on-147.jar",但没有解决问题.
我在Windows 7 64位上使用iText 5.2.1和eclipse.
如何使用C#在Windows应用商店中通过哈希获取证书?
sha1示例:7a0b021806bffdb826205dac094030f8045d4daa
这个循环有效但是:
X509Store store = new X509Store(StoreName.My);
store.Open(OpenFlags.ReadOnly);
foreach (X509Certificate2 mCert in store.Certificates)
{
Console.WriteLine( mCert.Thumbprint);
}
store.Close();
Run Code Online (Sandbox Code Playgroud)
有直接的方法吗?
我想使用bouncycastle生成一个简单的CMS签名.这段代码有效!
Security.addProvider(new BouncyCastleProvider());
String password = "123456";
KeyStore ks = KeyStore.getInstance("PKCS12");
ks.load(new FileInputStream("c:/cert_123456.p12"), password.toCharArray());
String alias = (String)ks.aliases().nextElement();
PrivateKey key = (PrivateKey)ks.getKey(alias, password.toCharArray());
Certificate[] chain = ks.getCertificateChain(alias);
CMSSignedDataGenerator generator = new CMSSignedDataGenerator();
generator.addSigner(key, (X509Certificate)chain[0], CMSSignedDataGenerator.DIGEST_SHA1);
ArrayList list = new ArrayList();
for (int i = 0; i < chain.length; i++) {
list.add(chain[i]);
}
CertStore chainStore = CertStore.getInstance("Collection", new CollectionCertStoreParameters(list), "BC");
generator.addCertificatesAndCRLs(chainStore);
CMSProcessable content = new CMSProcessableByteArray("test".getBytes());
CMSSignedData signedData = generator.generate(content, false, "BC");
byte[] pk = signedData.getEncoded();
Run Code Online (Sandbox Code Playgroud)
但是,如何添加签名属性?
我想删除默认的签名属性并添加signature-policy-identifier.
文章非常受欢迎.
我无法理解这两个概念"服务或类似服务的过程"之间的区别.
在msdn WinHTTP与WinINet页面上说:
在两者之间进行选择时,您应该使用WinINet,除非您计划在需要模拟和会话隔离的服务或类似服务的过程中运行.
在msdn注意WinInet函数说:
注意WinINet不支持服务器实现.此外,它不应该从服务中使用.对于服务器实现或服务,请使用Microsoft Windows HTTP服务(WinHTTP).
"需要假冒和会话隔离的服务或类似服务的流程"是什么意思?
"WinINet不支持服务器实现"是指在Windows Server上运行?
如果我的应用程序运行IIS我是否使用WinHTTP而不是WinInet?
我正在尝试使用ASP.NET和Interop COM创建一个简单的Web应用程序.
主要问题是:如何使Interop COM在客户端工作?
我正在使用:
IIS Windows Server 2008
C#Interop COM - Visual Studio 2010
Asp .NET - Visual Studio 2010
看完这些文章后,请访问
http://msdn.microsoft.com/en-us/library/aa479302.aspx
和http://msdn.microsoft.com/en-us/magazine/cc301832.aspx.
我尝试以两种方式在客户端使用该组件:
第一:
<object id="Obj" codebase="MyApp.dll#version=1,0,0,0" classid="clsid:C6659361-1625-4746-931C-36014B146679" VIEWASTEXT></object>
<script type="text/javascript" >
function test() {
alert('TEst');
Obj.PrintHi();
alert('and');
}
</script>
Run Code Online (Sandbox Code Playgroud)
第二:在.aspx中
<object id="Obj" codebase="MyApp.dll#version=1,0,0,0" classid="clsid:C6659361-1625-4746-931C-36014B146679" VIEWASTEXT></object>
Run Code Online (Sandbox Code Playgroud)
并在.cs文件中:
RegisterClientScriptBlock("showSaveMessage", "<script language=\"JavaScript\"> Obj.PrintHi(); </script>");
Run Code Online (Sandbox Code Playgroud)
在服务器端,我打开Internet Explorer,就像一个魅力.但在客户端出现:对象不支持此属性或方法.
我也尝试过:
<%
set Obj = CreateObject("MyApp.MyClass")
Obj.PrintHi
%>
Run Code Online (Sandbox Code Playgroud)
适用于双方,但只调用服务器端安装的MyApp.dll.
使用'object tag'是正确的方法吗?还有另一种在客户端使用COM的方法吗?如何配置IIS以避免Object在客户端不支持此属性或方法?
提前致谢
1#更新
我在使用C#Interop COM的Windows XP 32位上的Visual Studio 2010中创建ASP.NET C#.在我的机器"Windows XP"上,我开始调试,IE页面随我的应用程序打开.这有效.
所以我将项目复制到Windows …
我收到了来自 Google 的关于我在网上商店中的扩展程序的通知。
我们会定期检查 Chrome 网上应用店中的商品是否符合我们的计划政策,以确保为我们的用户提供安全可靠的体验。(...) 在审核过程中,您的项目被发现可疑,并且有一个或多个文件包含人类无法读取的缩小或混淆代码。
我使用 webpack 4 创建扩展包。我能够配置为不缩小也不混淆:
mode: "production",
optimization: {
// We no not want to minimize our code.
minimize: false,
},
Run Code Online (Sandbox Code Playgroud)
问题是依赖项(React、React-Dom 和 SweetAlert2)仍然被缩小了。
按照这个描述SplitChunksPlugin能够将依赖项移动到单独的文件:
mode: "production",
optimization: {
// We no not want to minimize our code.
minimize: false,
splitChunks: {
// Add the dependencies in the vendors file
cacheGroups: {
react: {
test: path.join(__dirname, "node_modules", "react"),
name: 'react',
chunks: 'all'
},
sweetalert2: {
test: path.join(__dirname, "node_modules", "sweetalert2"),
name: 'sweetalert2',
chunks: …
Run Code Online (Sandbox Code Playgroud) 我是一名C++开发人员,但在Windows开发方面没有强大的背景.
我的主要问题围绕使用Crypto API.我将使用CryptAcquireContext等函数.在研究有关此API的更多信息时,仅将其描述为"Win32加密API".我想知道是否有"Win64加密API"?
如果没有,如果我开发一个在Visual Studio中使用"Win32 Crypto API"并编译为64位模式的应用程序.如果我用32位编译会更好吗?
我该怎么做才能开发一个使用Crypto API的64位应用程序?
如果可能,请在使用加密API,检索证书,携带签名等时报告您为64位开发应用程序时遇到的任何问题.
文章非常受欢迎.
我正在构建一个COM组件C#,客户可以设置二进制数据.如果COM组件返回异常而不是错误代码会很好,但是意识到在(Delphi,C++和JScritp)中处理异常很困难.我选择它接收十六进制数据(内部转换为二进制)并以十六进制返回(内部将二进制转换为十六进制).
方法getData可以返回数据和错误代码,问题是:如何在C#interop中执行此操作?
在C++ COM中存在HRESULT
HRESULT getData([in] int __position, [out,retval] BSTR* __data); // can Return __data or error -1 data not exists
HRESULT setData([in] BSTR __data, [out,retval] int* __status);
Run Code Online (Sandbox Code Playgroud)
但在C#COM ??
int getData ??? // return __status or __data;
int setData(String __data); // return __status;
Run Code Online (Sandbox Code Playgroud)
提前致谢,
c# ×3
cryptography ×3
bouncycastle ×2
c++ ×2
com ×2
java ×2
windows ×2
.net ×1
asp.net ×1
com-interop ×1
cryptoapi ×1
exception ×1
iis ×1
interop ×1
itext ×1
javascript ×1
mscapi ×1
npm ×1
store ×1
visual-c++ ×1
webpack ×1
webpack-4 ×1
winhttp ×1
wininet ×1