我在logcat中收到此错误.我在我的android应用程序中实现了ssl pinning.我想我做错了什么导致了这个错误.
05-19 17:39:54.998: E/NativeCrypto(30908): ssl=0x5eefaf80 cert_verify_callback x509_store_ctx=0x5dbea940 arg=0x0
05-19 17:39:54.998: E/NativeCrypto(30908): ssl=0x5eefaf80 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA
Run Code Online (Sandbox Code Playgroud)
以下是我的ssl pinning android代码.哪个有效,但会引发上述错误.
public static HttpClient getHttpClient(HttpParams params, Context context) throws CertificateException, KeyStoreException, NoSuchAlgorithmException, IOException, KeyManagementException, UnrecoverableKeyException {
CertificateFactory cf = CertificateFactory.getInstance("X.509");
InputStream caInput = context.getResources().openRawResource(R.raw.abc);
Certificate ca;
try {
ca = cf.generateCertificate(caInput);
} finally {
try {
caInput.close();
} catch (IOException e) {
Log.e("Error","Closing the cert file",e);
}
}
String keyStoreType = KeyStore.getDefaultType();
KeyStore keyStore = KeyStore.getInstance(keyStoreType);
keyStore.load(null, null);
keyStore.setCertificateEntry("ca", ca);
SSLSocketFactory …Run Code Online (Sandbox Code Playgroud) var app = angular.module('tableTest', ['datatables']);
app.controller('TableCtrl',function ($scope,$compile,DTOptionsBuilder, DTColumnBuilder) {
$scope.showUpdateForm = function(code,reason,startTime,endTime,transactionGroup,geoGroup,transactionGroup) {
$scope.$parent.code = code;
$scope.$parent.reason = reason;
$scope.$parent.startTime = startTime.split(' ')[1].substring(0,startTime.split(' ')[1].lastIndexOf(':'));
$scope.$parent.endTime = endTime.split(' ')[1].substring(0,endTime.split(' ')[1].lastIndexOf(':'));
$scope.$parent.startDate = startTime.split(' ')[0];
$scope.$parent.endDate = endTime.split(' ')[0];
$scope.$parent.transactionGroup = transactionGroup;
$scope.$parent.geoGroup = geoGroup;
$scope.$parent.group = transactionGroup;
$scope.$parent.getGeographyList();
$scope.$parent.getTransactionsList();
}
var vm = this;
vm.dtOptions = DTOptionsBuilder.newOptions()
.withOption('ajax', {
url: '<some url>',
type: 'GET'
})
.withDataProp('data')
.withOption('serverSide', true)
.withOption('createdRow', function(row, data, dataIndex) {
$compile(angular.element(row).contents())($scope);
})
.withOption('responsive', true).withOption('bAutoWidth', false)
.withPaginationType('full_numbers');
vm.dtColumns = …Run Code Online (Sandbox Code Playgroud) 我对表达和节点很陌生。我试图使用多方和此处给出的代码上传图像。我已经检查了文件大小。当我上传大小超过限制的文件时,它会出现在“问题部分”中。问题是服务器挂起并仅在请求超时后响应。我已经尝试了许多关于堆栈溢出的解决方案,但似乎没有任何效果。如果文件大小低于限制,它会起作用。我很确定代码到达问题部分,上传逻辑没有问题。不过看来我得在“问题部分”做点什么了。请告诉我我错过了什么。
我已经将问题部分的代码替换为 next(), res.send(), res.end(), next(err), return; 但它不起作用。无论如何它都会挂起。
以下是代码:
router.post("/image", function(req, res, next) {
if(req.user) {
upload.uploadToS3(req, S3_BUCKET, S3_PROFILE_IMAGE_FOLDER, function(result) {
if(result.error != null && result.error === false) {
models.Customer.update({
orignalImage : result.fileLocation
},{
where : { mobileNumber : req.user.mobileNumber}
}).then(function(customer) {
if(customer) {
res.send({
url: result.fileLocation,
error : false
});
} else {
res.status(400);
res.send({error : true,
error_message : 'Image upload failed'});
}
});
} else {
//PROBLEM SECTION
res.status(404);
res.json({error : true, error_message : result.error_message});
} …Run Code Online (Sandbox Code Playgroud)