我正在为客户构建应用程序的测试版本.此应用程序的一部分使用调用基于SSL的站点的WebView.反过来,客户端提供了一个测试域,其中证书名称与FQDN不匹配.唉,他们无法提供匹配的证书.:(
我正在使用一行代码在同伴iOS ad hoc应用程序上解决此问题(同样,不用于生产用途 - 仅用于测试目的).我在Android操作系统上搜索过类似的信息,但是我在这里和其他地方看到的解决方案足以让我的头脑旋转比较大!
有解决这个问题的简单方法吗?即使面向用户的设置隐藏在某个地方?
线索赞赏!
我可以将对象从Java持久化到DB中:
表人:
varchar name
varchar groupID
varchar emailAddress
key on (name, groupID)
Run Code Online (Sandbox Code Playgroud)
而在Java中
Person foo = new Person("dhackner", "3");
session.persist(foo);
Run Code Online (Sandbox Code Playgroud)
这两个论点构成了关键.在这种情况下,name和groupID是DB中的唯一键,因此足以清楚地标识表中的任何特定行(可以有多个"dhackner"条目,多个"group 3"条目,但只有一个"dhackner,group" 3"进入).
假设设置正确,该代码将成功生成
name | groupID | emailAddress
dhackner | 3 | ""
Run Code Online (Sandbox Code Playgroud)
我希望能够在不编写查询或使用任何自动生成的ID的情况下执行相反的操作:
表人:
name | groupID | emailAddress
dhackner | 3 | "something"
dhackner | 4 | "foobar"
other | 3 | "barfoo"
Run Code Online (Sandbox Code Playgroud)
在Java中:
Person foo = new Person("dhackner", "3");
foo.load(); // something like this
Assert.assertEquals(foo.getEmailAddress(), "something");
Run Code Online (Sandbox Code Playgroud) 从我可以从SharedPreferences文档中产生的内容,我可以更新首选项,添加一个或清除共享首选项文件中的所有首选项值.
但我想彻底清除共享首选项文件中的所有内容,不仅仅是值,还包括它们引用的首选项.
我看到了这个:
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
Run Code Online (Sandbox Code Playgroud)
在我的Eclipse .classpath文件中多次创建一个新的Maven项目时,但我似乎无法弄清楚 - 排除="**"的意思是什么?
编辑:我想我想在这里得到的是,虽然看起来像exclude ="**"应该排除src/main/resources中的所有内容,但是 - 它没有.当我创建一个测试项目并放入文件夹(例如:META-INF)时,它们实际上会显示在目标/类中.为什么?那么排除的重点是什么?
TIA
请考虑以下示例:
var funcToCall = function() {...}.bind(importantScope);
// some time later
var argsToUse = [...];
funcToCall.apply(someScope, argsToUse);
Run Code Online (Sandbox Code Playgroud)
我想保留funcToCall的'importantScope'.然而,我需要使用apply来应用未知数量的参数.'apply'要求我提供'someScope'.我不想更改范围,我只想将参数应用于函数并保留其范围.我该怎么办?
我刚刚开始Android开发,我正在努力获得一个带有复选框工作的自定义列表视图.我创建了一个扩展Activity的基类,创建了一个适配器,并覆盖了getView()方法,将复选框添加到listview中.我假设我需要这样做,因为我需要didSelectRowIndexAtPath与Obj C 相当的东西来更新我的模型.请告诉我是否还有其他方法可以做到这一点!
现在在我的基类中,我有以下代码 -
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout);
setContentView(R.layout.facilityscreen);
/* Static Data source */
facilityModel = new FacilityDataModel[2];
facilityModel[0] = new FacilityDataModel();
facilityModel[1] = new FacilityDataModel();
facilityModel[0].setFacilityName("Test 1");
facilityModel[0].setFacilityID("Facid0001");
facilityModel[0].setChecked(false);
facilityModel[1].setFacilityName("Test 2");
facilityModel[1].setFacilityID("Facid0002");
facilityModel[1].setChecked(true);
facilityListView = (ListView) findViewById(R.id.facilityListView);
FacilityScreenAdapter adapter = new FacilityScreenAdapter(this, facilityModel);
facilityListView.setAdapter(adapter);
myPatBtn = (Button) findViewById(R.id.myPatBtn);
myPatBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
int i=0;
i++;
}});
facilityListView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public …Run Code Online (Sandbox Code Playgroud) 我在一个项目上使用JAXB.JAXB的吸引力在于它与JDK捆绑在一起,我一直在命令行上使用xjc.exe从模式生成.java文件.我似乎无法找到JAXB ant任务,确定在http://jaxb.java.net上有一个下载但是我想使用捆绑到JDK中的JAXB是否有某种方法可以从Ant调用JAXB class是否调用了xjc.exe?
我正在尝试使用C#和.NetCF验证X.509证书.我有CA证书,如果我理解正确,我需要使用此CA证书中的公钥来解密不受信任证书的签名.这应该给我不受信任证书的计算哈希值.然后我应该自己计算证书的哈希值,并确保两个值匹配.
我已经玩了几天了,我没有走得太远.我一直在使用X509Certificate和RSACryptoServiceProvider类.首先,我尝试从X509Certificate类中获取公钥和签名.我能够获得公钥而不是签名.接下来,我尝试解析构成证书的二进制数据,这允许我获取签名(以及我想要的任何其他数据),但我无法使用RSACryptoServiceProvider解密签名.我试过这样的事情,但在我试图解密的时候不断得到说"Bad Key"的异常:
RSAParameters rsaParams = new RSAParameters();
rsaParams.Exponent = exp;
rsaParams.Modulus = mod;
RSACryptoServiceProvider rsaServ = new RSACryptoServiceProvider();
rsaServ.ImportParameters(rsaParams);
byte[] decryptedSig = rsaServ.Decrypt(encryptedSig, false);
Run Code Online (Sandbox Code Playgroud)
任何建议将不胜感激.
编辑:我尝试了似乎更好的东西,但返回了一个奇怪的结果.我在这里使用X509Certificate2类,因为它更容易进行测试,但我需要稍后切换到.NetCF的X509Certificate.我认为RSACryptoServiceProvider.VerifyData可能就是我所需要的.我尝试了以下代码.
X509Certificate2 cert = new X509Certificate2(certBytes);
X509Certificate2 certCA1 = new X509Certificate2(@"C:\certs\certCA1.cer");
byte[] encryptedSig = new byte[256];
Array.Copy(certBytes, certBytes.Length - 256, encryptedSig, 0, 256);
RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)certA1.PublicKey.Key;
bool good = rsa.VerifyData(cert.RawData, "1.3.14.3.2.26", encryptedSig);
Run Code Online (Sandbox Code Playgroud)
正如我所说,我能够手动解码和解释证书的二进制数据,所以我很确定cert.RawData是证书的签名数据,最后256个字节是加密签名.字符串是我从证书中获得的哈希算法的OID,但我不是100%确定它是正确的.VerifyData返回false,但我不确定为什么.
思考?
1)我知道if…else if语句是如何工作的,但在下一个例子中,就结果值而言,两种方法都是相同的.那么我使用的两种方法中的哪一种或者我应该总是选择一种在语义上最接近代码尝试的方法(这里我猜这两种方法在语义上是完全不同的)?那么你会使用哪种方法?为什么?
protected string GetNumberDescription(int value)
{
if (value >= veryBigNumber)
return veryBigNumberDescription;
else if (value >= bigNumber)
return bigNumberDescription;
else if (value >= smallNumber)
return smallNumberDescription;
else
return "";
}
protected string GetNumberDescription(int value)
{
if (value >= veryBigNumber)
return veryBigNumberDescription;
if (value >= bigNumber)
return bigNumberDescription;
if (value >= smallNumber)
return smallNumberDescription;
else
return "";
}
Run Code Online (Sandbox Code Playgroud)
2)我注意到在编写if ... else if语句时丢失的代码使用以下格式:
if ...
else if ...
else ...
Run Code Online (Sandbox Code Playgroud)
但不是(至少在概念上)更正确的方式:
if ...
else
if ...
else …Run Code Online (Sandbox Code Playgroud) 我有一个类似于这个的类,并且findbugz抱怨'从实例方法写入静态字段'(initialize(),和killStaticfield()).我无法在ctor中设置静态字段.
将staticField放入AtomicReference就足够了吗?
public class Something
{
private static SomeClass staticField = null;
private AnotherClass aClass;
public Something()
{
}
public void initialize()
{
//must be ctor'd in initialize
aClass = new AnotherClass();
staticField = new SomeClass( aClass );
}
public void killStaticField()
{
staticField = null;
}
public static void getStaticField()
{
return staticField;
}
}
Run Code Online (Sandbox Code Playgroud)