我盯着这看了很长一段时间,感谢MSDN文档我无法弄清楚到底发生了什么.基本上我正在将光盘中的PFX文件加载到a中,X509Certificate2并尝试使用公钥加密字符串并使用私钥解密.
为什么我感到困惑:加密/解密在我将引用传递给RSACryptoServiceProvider自身时起作用:
byte[] ed1 = EncryptRSA("foo1", x.PublicKey.Key as RSACryptoServiceProvider);
string foo1 = DecryptRSA(ed1, x.PrivateKey as RSACryptoServiceProvider);
Run Code Online (Sandbox Code Playgroud)
但如果出口和传递RSAParameter:
byte[] ed = EncryptRSA("foo", (x.PublicKey.Key as RSACryptoServiceProvider).ExportParameters(false));
string foo = DecryptRSA(ed, (x.PrivateKey as RSACryptoServiceProvider).ExportParameters(true));
Run Code Online (Sandbox Code Playgroud)
...它会抛出"密钥无法在指定状态下使用".尝试将私钥导出到的异常RSAParameter.请注意,生成PFX的证书标记为可导出(即我在创建证书时使用了pe标志).知道导致异常的是什么吗?
static void Main(string[] args)
{
X509Certificate2 x = new X509Certificate2(@"C:\temp\certs\1\test.pfx", "test");
x.FriendlyName = "My test Cert";
X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
try
{
store.Add(x);
}
finally
{
store.Close();
}
byte[] ed1 = EncryptRSA("foo1", x.PublicKey.Key as RSACryptoServiceProvider); …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个跨平台的游戏开发框架.MonoGame看起来很容易学习和快速开发,但是我看到他们页面上的大部分游戏都不起作用,或者有很多错误.
任何人都可以解释MonoGame对于ios/droid专业手机游戏开发是否可靠?
我正在尝试将Objective-C中的这个居中代码片段转换为MonoTouch
imageView.frame.origin.x = CGRectGetMidX(view.bounds) -
CGRectGetMidX(imageView.bounds)
Run Code Online (Sandbox Code Playgroud)
但找不到哪里Origin.
我正在使用MonoTouch和MonoDevelop的评估版来检查用C#编写iPhone应用程序.但是,MonoDevelop的编辑对我来说非常慢.我的意思是真的很慢.我必须输入并等待呈现文本.
你经历过同样的经历吗?什么原因的任何见解?
谢谢.
Xamarin.Mac和Mono:OSX之间的区别在哪里?我知道Xamarin买了Mono所以我认为它应该是一样的.但Mono:OSX似乎是免费的,而Xamarin.Mac至少需要399美元.那么两者之间的差异在哪里呢?
有没有办法获取str1代码?
[MyAttribute("str1")]
class X {}
Run Code Online (Sandbox Code Playgroud)
实例Mono.Cecil.CustomAttribute.Fields是空的.
在创建Xamarin Android应用程序时,在添加对Infragistics Chart控件和Google Play服务的引用后,我们必须启用"启用Multi-Dex"属性true(因为应用程序达到65K的dex方法限制).我们收到了一个错误
Run Code Online (Sandbox Code Playgroud)..\CREATEMULTIDEXMAINDEXCLASSLIST: Error: Expecting class path separator ';' before '\Android\android-sdk\build-tools\21.1.1\lib\shrinkedAndroid.jar' in argument number 8
我正在使用Xamarin Studio版本5.9(版本431)Xamarin.Android版本:5.1.0
请帮助解决Xamarin中的这个问题.
我按照以下示例在我的应用程序(Xamarin.iOS)中查看pdf.一切正常,直到最近我才开始注意到使用这种方法无法读取一些pdf文件.
我打开并获取了我的mac信息,我注意到以下内容:
我可以使用Mac的查看器将每个文件导出为pdf,但这比我需要的更多.我该怎么做才能解决这个问题?
原始编码:Adobe Acrobat 10.1.16中的PDFScanLib v1.2.2
导出编码:Mac OS X 10.10.5 Quartz PDFContext
我对该程序运行了额外的测试,我可以得出结论问题是在pdf文件上使用了压缩.CGPDFDocument有没有办法删除或忽略压缩,所以我可以查看pdf?我将pdf上传到我分割页面的移动后端.我正在使用Pdfsharp来实现这一目标,如果可能的话有没有办法在保存到服务器之前清理文件?(此问题仅影响我的应用程序的iOS版本).
经过额外的测试后,我遇到了以下错误:这里 看起来使用的JBIG2压缩有一个已知的错误,当在pdf中读取jpg时会导致错误.(我将继续进一步测试,直到找到解决方案.)
更正:pdf压缩不是JBIG2,而是FlateDecode.在测试并读取二进制数据之后,我注意到原始数据和导出数据都具有相同类型的压缩.(当我尝试解决这个问题时,会更新更多信息.)
我正在尝试UILabel在我的Xamarin.iOS应用程序中创建一个填充.本机Objective-C应用程序中最流行的解决方案是重写drawTextInRect:
- (void)drawTextInRect:(CGRect)rect {
UIEdgeInsets insets = {0, 5, 0, 5};
return [super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)];
}
Run Code Online (Sandbox Code Playgroud)
这看起来很简单,我无法弄清楚如何将其转换为C#.这是我最好的尝试:
internal class PaddedLabel : UILabel
{
public UIEdgeInsets Insets { get; set; }
public override void DrawText(RectangleF rect)
{
var padded = new RectangleF(rect.X + Insets.Left, rect.Y, rext.Width + Insets.Left + Insets.Right, rect.Height);
base.DrawText(padded);
}
}
Run Code Online (Sandbox Code Playgroud)
这似乎会移动标签的文本,但它不会调整标签的大小.
我认为主要问题是我找不到相应的Xamarin UIEdgeInsetsInsetRect.
有什么建议?
c# ×7
xamarin.ios ×6
mono ×5
ios ×4
.net ×2
iphone ×2
macos ×2
android ×1
cgpdf ×1
cgrect ×1
cryptography ×1
encryption ×1
metadata ×1
mono.cecil ×1
monodevelop ×1
monogame ×1
monomac ×1
nunit ×1
pdfrenderer ×1
rsa ×1
uilabel ×1
unit-testing ×1
xamarin ×1
xamarin.mac ×1
xna ×1