我正在尝试将签名时间属性添加到我使用SignedCMS签名的文件中.
private byte[] signFile(byte[] fileContent, X509Certificate2 verificationCert)
{
ContentInfo contentInfo = new ContentInfo(fileContent);
SignedCms signedCMS = new SignedCms(contentInfo);
CmsSigner cmsSigner = new CmsSigner(SubjectIdentifierType.IssuerAndSerialNumber, verificationCert);
Oid signedDate = new Oid("1.2.840.113549.1.9.5"); //oid for PKCS #9 signing time
signedDate.Value = DateTime.Now.ToString();
CryptographicAttributeObject cryptoAtty = new CryptographicAttributeObject(signedDate);
cmsSigner.SignedAttributes.Add(cryptoAtty);
signedCMS.ComputeSignature(cmsSigner, false);
byte[] encoded = signedCMS.Encode();
return encoded;
}
Run Code Online (Sandbox Code Playgroud)
在Encode上抛出错误:
CryptographicException: The object identifier is poorly formatted.
Run Code Online (Sandbox Code Playgroud)
有关如何正确添加签名时间的任何想法?我想我可能必须将签名时间转换为ASN.1编码对象并将其添加到cryptoAtty值.如何将日期/时间转换为ASN.1编码对象?
是否可以仅用c ++更新文件的一部分?
例:
旧文件答: "A''A''A''B''B''C''C''C"
新文件:"A''A''A" "X''X" "C" 'C''C'
因为真实的文件不像这些例子那么小,而且我确实知道究竟发生了什么变化(更改内容的偏移和writeLenght),能够打开文件,将流设置到正确的位置,编写信息并再次关闭文件....但这将导致一个如下所示的文件:
更新文件:'0''0''0''X''X''C''C''C'
这是我使用的代码:
void update file( list<unsigned char> content, int offset){
fs::basic_ofstream< char > fileStream( path , ios::out | ios::binary );
list< unsigned char >::const_iterator contentIter = content.begin();
// begin write operation at the offset
advance( contentIter , offset);
fileStream.seekp( offset );
while( contentIter != content.end() ){
unsigned char value = (char)*contentIter;
fileStream.put( value );
++contentIter;
}
fileStream.close();
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点,或者每次更改时都要重写整个文件?
谢谢
我是C++ STL的新手,所以这可能是微不足道的.我有一个ostream变量,里面有一些文字.
ostream* pout;
(*pout) << "Some Text";
Run Code Online (Sandbox Code Playgroud)
有没有办法提取流并将其存储在一个类型的字符串char*?
有没有办法访问用c ++打开的文件的文件描述符?所以......
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream inputFile( "file.txt",ios::in );
cout << inputFile.fileDesc << endl;//made up call
return 0;
}
Run Code Online (Sandbox Code Playgroud)
问题是,ifstreams是否存在类似fileDesc的东西?如果不是我该怎么做呢?
iPhone 4的惊人显示使我们制作出更高分辨率的艺术品,以利用新的屏幕.
我的问题是,应用图像的更好方法是什么?目前,有两种方法可以做到这一点:
使用两个图像:"image.png"和"image@2x.png".问题在于,如果您的应用需要大量图片,则捆绑包的大小会大幅增加.此外,您必须缩放图像并正确保存它们,这可能需要相当长的时间.
缩放图像.您只加载大图像,然后在代码中或使用Interface Builder将其缩放到50%.这减少了束大小和设计时间,但在小屏幕上可能看起来不太好.
您认为哪种方法最好,为什么?
似乎fgets在它返回的所有内容之后放置一个空格.这是一些示例代码:
<?php
Echo "Opening " . $_SERVER{'DOCUMENT_ROOT'} . "/file.txt" . "...<br>";
$FileHandle = @Fopen($_SERVER{'DOCUMENT_ROOT'} . "/file.txt", "r");
If ($FileHandle){
Echo "File opened:<br><br>";
While (!Feof($FileHandle)){
$Line = Fgets($FileHandle);
Echo $Line . "word<br>"; //Should be LINECONTENTSword, no space.
}
Fclose($FileHandle);
}
?>
Run Code Online (Sandbox Code Playgroud)
返回
Opening /var/www/vhosts/cqe.me/httpdocs/file.txt...
File opened:
First line word
Second line word
3rd line word
Another line of text word
Blablablaword
Run Code Online (Sandbox Code Playgroud)
为什么线的内容和"单词"之间有空格?为什么这个空间不在文件末尾(Blablablaword)?
你能告诉我如何摆脱这个空间吗?非常感谢 :-)!
当调用add(4)时,我的main()在下面崩溃.
据我所知int*add,它应该返回一个指向整数的指针.然后,我应该能够主要说:
int*a = add(3);
返回指向int的指针.
请解释我做错了什么.
#include <cstdlib>
#include <iostream>
using namespace std;
int* add (int a) {
int * c, d;
d = a + 1;
*c = d;
cout << "c = " << c << endl;
return c;
}
int main(int argc, char *argv[])
{
int a = 4;
int * c;
c = add(4);
system("PAUSE");
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud) 我已下载,jbpm-installer-3.2.7.jar但我不知道如何安装或运行该文件.
如果我双击它,它会打开winrar.我尝试通过命令提示符安装,但我收到以下错误:
C:\Documents and Settings\ccuser\Desktop\manoj>java -jar jbpm-installer-3.2.7.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/izforge/izpack/installer/Installer (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Run Code Online (Sandbox Code Playgroud) 什么Perforce p4命令列出给定更改列表中更改的文件?请注意,我只想要已更改的文件的名称,而不是内容差异.
我想破解Android默认设置应用程序以进行原型设计.构建和安装"自定义"应用程序的正确步骤是什么?
修改平台源代码树中的"设置"源后,如何构建它?构建之后,我可以单独安装"设置",还是重建并重新安装整个Android平台映像?