提交 ae728423 编写于 作者: W wq1234wq

证书

上级 eba04b97
......@@ -57,26 +57,20 @@ e
.subscribe(
{
next: next => {
let url = window.URL.createObjectURL(next);
let a = document.createElement('a');
document.body.appendChild(a);
a.setAttribute('style', 'display: none');
a.href = url;
a.download = this.record.id + '.zip';
a.click();
window.URL.revokeObjectURL(url);
a.remove();
if(next.code===10000){
let url = window.URL.createObjectURL(next);
let a = document.createElement('a');
document.body.appendChild(a);
a.setAttribute('style', 'display: none');
a.href = url;
a.download = this.record.id + '.zip';
a.click();
window.URL.revokeObjectURL(url);
a.remove();
}else{
this.msg.create('error', '证书下载失败:'+next.msg);
}
},
error: error => {
this.msg.create('error', '证书下载失败:'+error.error);
this.msg.create('error', '证书下载失败:' + error.error);
}, complete: () => { }
}
);
......
......@@ -250,22 +250,41 @@ namespace IoTSharp.Controllers
SubjectAlternativeNameBuilder altNames = new SubjectAlternativeNameBuilder();
altNames.AddUserPrincipalName(did.Device.Id.ToString());
altNames.AddDnsName(_setting.MqttBroker.DomainName);
altNames.AddUri(new Uri($"mqtt://{_setting.MqttBroker.ServerIPAddress}:{_setting.MqttBroker.TlsPort}"));
string name = $"CN={dev.Name},C=CN,L={dev.Customer.Province ?? "IoTSharp"},ST={dev.Customer.City ?? "IoTSharp"},O={dev.Customer.Name},OU={dev.Tenant.Name}";
var tlsclient = option.CACertificate.CreateTlsClientRSA(name, altNames);
string x509CRT, x509Key;
tlsclient.SavePem(out x509CRT, out x509Key);
did.IdentityType = IdentityType.X509Certificate;
did.IdentityId = tlsclient.Thumbprint;
var pem = new
if (!string.IsNullOrEmpty(_setting.MqttBroker.DomainName))
{
PrivateKey = x509Key,
PublicKey = x509CRT
};
did.IdentityValue = Newtonsoft.Json.JsonConvert.SerializeObject(pem);
await _context.SaveChangesAsync();
return new ApiResult<DeviceIdentity>(ApiCode.Success, "OK", new DeviceIdentity() { Id = did.Id, IdentityType = did.IdentityType, IdentityId = did.IdentityId });
altNames.AddDnsName(_setting.MqttBroker.DomainName);
if (!string.IsNullOrEmpty(_setting.MqttBroker.ServerIPAddress))
{
if (_setting.MqttBroker.TlsPort > 0 && _setting.MqttBroker.TlsPort < 65535)
{
altNames.AddUri(new Uri($"mqtt://{_setting.MqttBroker.ServerIPAddress}:{_setting.MqttBroker.TlsPort}"));
string name = $"CN={dev.Name},C=CN,L={dev.Customer.Province ?? "IoTSharp"},ST={dev.Customer.City ?? "IoTSharp"},O={dev.Customer.Name},OU={dev.Tenant.Name}";
var tlsclient = option.CACertificate.CreateTlsClientRSA(name, altNames);
string x509CRT, x509Key;
tlsclient.SavePem(out x509CRT, out x509Key);
did.IdentityType = IdentityType.X509Certificate;
did.IdentityId = tlsclient.Thumbprint;
var pem = new
{
PrivateKey = x509Key,
PublicKey = x509CRT
};
did.IdentityValue = Newtonsoft.Json.JsonConvert.SerializeObject(pem);
await _context.SaveChangesAsync();
return new ApiResult<DeviceIdentity>(ApiCode.Success, "OK", new DeviceIdentity() { Id = did.Id, IdentityType = did.IdentityType, IdentityId = did.IdentityId });
}
else
{
return new ApiResult<DeviceIdentity>(ApiCode.NotFoundDeviceIdentity, "Please set valid MqttBroker TlsPort", null);
}
}
return new ApiResult<DeviceIdentity>(ApiCode.NotFoundDeviceIdentity, "Please set MqttBroker ServerIPAddress", null);
}
return new ApiResult<DeviceIdentity>(ApiCode.NotFoundDeviceIdentity, "Please set MqttBroker domain name", null);
}
else
{
......@@ -273,6 +292,7 @@ namespace IoTSharp.Controllers
}
}
/// <summary>
/// 下载证书
/// </summary>
......
......@@ -8,7 +8,7 @@
},
"DataBase": "MySql",
"ConnectionStrings": {
"IoTSharp": "server=localhost;user=root;password=kissmedatabase=IoTSharp",
"IoTSharp": "server=localhost;user=root;password=kissme;database=IoTSharp",
"TelemetryStorage": "server=localhost;user=root;password=kissme;database=IoTSharp"
},
"JwtKey": "kissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissme",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册