我有一个要在 Android Webview 中打开的网站。该网站使用由COMODO RSA Domain Validation Secure Server CA. 问题是我得到了一个Unkown Certificate Error适用于所有运行版本低于(包括)Android 5 的设备。
我在文档中搜索过,据我所知,问题是 CA 是在 Android 5 发布之前创建的。
我可以做一个handler.proceed();,onReceivedSslError但我想保证应用程序的安全,我认为谷歌无论如何都可以拒绝 Play 商店中的应用程序。
我发现我可以做这样的事情
// Load CAs from an InputStream
// (could be from a resource or ByteArrayInputStream or ...)
CertificateFactory cf = CertificateFactory.getInstance("X.509");
// From https://www.washington.edu/itconnect/security/ca/load-der.crt
InputStream caInput = new BufferedInputStream(new FileInputStream("load-der.crt"));
Certificate ca;
try {
ca = cf.generateCertificate(caInput);
System.out.println("ca=" + ((X509Certificate) ca).getSubjectDN());
} finally {
caInput.close();
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试动态实现“heapq”或“deque”(根据用户的输入)
class MyClass():
def __init__(self, choose = True ):
self.Q = []
self.add = self.genAdd(choose)
self.get = self.genGet(choose)
def genAdd(self, ch):
if(ch == True):
def f(Q, elem):
return Q.append
else:
def f(Q):
return heappush
return f
Run Code Online (Sandbox Code Playgroud)
'genGet' 也一样
执行在一侧 (x) 或另一侧(但不能同时进行)是正确的。我得到类似的东西
TypeError: f() takes exactly 1 argument (2 given)
Run Code Online (Sandbox Code Playgroud)
尝试了多次继承,但得到了
TypeError: Error when calling the metaclass bases
metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
Run Code Online (Sandbox Code Playgroud)
问题是 heapq 被调用 …