从V6.1更新到V8.1后,我们的MVC自定义代码无效,它返回404(自定义代码是一些API使用Sitefinity API读取内容和商业数据).
根据文档" here ",它说"Bootstrapper.MVC.MapRoute已被删除.请调用RouteTable.Routes.MapRoute(System.Web.Mvc)".,所以我改变了我的代码
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
Bootstrapper.MVC.MapRoute(
"ExternalAccess",
"baseApi/{controller}/{action}/{id}",
new { controller = "MvcMainApiCntr", action = "Index", id = "" }
);
}
Run Code Online (Sandbox Code Playgroud)
至
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"ExternalAccess",
"baseApi/{controller}/{action}/{id}",
new { controller = "MvcMainApiCntr", action = "Index", id = "" }
);
}
Run Code Online (Sandbox Code Playgroud)
但路由仍然无法正常工作.
以下是我们的MVC类的示例:
using System;
using System.IO;
using System.Net;
using System.Web.Mvc;
using HtmlAgilityPack;
using Telerik.Sitefinity.Abstractions;
namespace SitefinityWebApp.Mvc.Controllers
{
public class SharedAssetsController : Controller
{
[HttpGet]
public ViewResult …
Run Code Online (Sandbox Code Playgroud) 我在C#代码中使用RSACryptoServiceProvider,并且运行良好,可以导出RSA XML私钥和公钥,但是由于某种原因,我需要将此密钥转换为* .pem,格式为(PKCS8未加密)
我的私钥就像
<RSAKeyValue>
<Modulus>zYs6baSaRDgLc5fG3/ozwGwS8OAvxd9quE2su+7//Lnz2WuIbe8jMc5kL7p2gsPZUEoB88SFHdGZSYiZJhERDc/1iQ4VsW2/ra8DBW+1m3K33EDvvI3rJ0NIyuRNuwoYql3hYdY0cdW6Gru9ZARCpptgBSJEiUSPjlzDEXz3RaU=</Modulus>
<Exponent>AQAB</Exponent>
<P>89aDVrzNZuDfkCCUR6LKlxHul64zb4EBUN4vr6VZ4LrjEqT6m7+a/8lIrgSK03R1hDdOzeg79eS0OLH5cbe6xQ==</P>
<Q>18vAJpkwmhDSMjcPAE/4LufpZ6ukaOgkcPj9LngZSQlIt/D19LT/4NqZ2BrukX5bFCL6WPPLrJmmYlG/Jj+NYQ==</Q>
<DP>whMgoi7PxWyCRDLKEmJNoQQSxQNPyRYCuBzAE6sl6CqXhUVuefx9H81TXb4byMXOqxdiT5zh7IrFrsJo6cv0iQ==</DP>
<DQ>ylGZAZc2XfvPVo0QX3aadT+xMSVXq5OaNuD6XorzCerOZsZfkuHv1NyeyGHXskkJE0QH+0X3ewdDW4LQ+Ac1gQ==</DQ>
<InverseQ>v4nkldQ2UKhJUZiyJbKnp2xopzfmreDQTTtGbaF4X0UP5pDGJndmUhj1SHITUAVqwUBa+hSl8TvzcO4IRpkOFg==</InverseQ>
<D>JopbL9Dj7jO2DfwhGcE/7+4z1P+sZYVhbOJ/p5OGY1x4uUVdBQQIjN++0GY9r4JKnq/p0swAC9nPzMZ0tPsRP7gV5x7fmySlMP4tGpALDHbDgGfN098m2+JqK+/MIMYTAdLbnAcwk/1Lp8mB7Urm/OF/M0LOUzRQ1mwXVXNG/sE=</D>
</RSAKeyValue>
Run Code Online (Sandbox Code Playgroud)
我想将其转换为如下所示的(PKCS8未加密)
-----BEGIN PRIVATE KEY-----
MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQC0Bo/mh3bSiOiP
CUxtpa0c8IhDNJqaRDNWaKiqothEjgI7D/IU/uHacPotyedjzLFNr0cnhgguO4dQ
dNaSN+tAlgBqcexBbAl31+BEghNy+1PB189VNVSf8G+qOfF0SIKuBbb/+Q4TrvOD
XPrzulQpLcHMqRGqRE4PkT6574pKyiQGJvjeLBLEQtiobKkzoG3HOFkl9RsKae1f
Tuf8f25aVhKjoUyWp1mOfhHwdfT+76rmrz7F9X1s6M7pxigIfCiYPXHrWh02GTbj
EVLKTpVBg31JmrKErNJsv/j5P3wuSI12TCW4u1RXfahBHhi263oGCQ/2JO/Fm4+v
5wtX20x5AgMBAAECggEBAJjceZPlsp9SYSYTXzI7W6MXGpz2LdCP2IemlpFNdRXA
/2PnRkdNpbk19TisGC5FwMeV7XVB+fBH274Vd5zwnnFY7UF1OobSlbeNNoD1ck5P
2e7esM5JWnH0VtzUFpIGf/AEKj9v2uQbyenhKbWKoavVjpmZdcZ9+Up+qiR3oZWe
YiScMlYm5KL+pTD1IMZQ46DoxU17VhOVxbZoZOf+a5iAPtskjJyz12EOVldHASGz
VZkM54C+BrCTdJjOB5C7cth94D7J7nhgovBP0jz6A7WZtDpgBB6j1lFBwKSWw0U4
0LGZb/Mlb29txAoeR1YSHCe6RKuyyY3oas6fJ1kdRgECgYEA12r1nkK8fjNybMbp
No+TsWD9YDTLZrndHBMIR+GtUKWCXTpw7EwT0BCU4ATm6TiTje0ZI9kZW1tnbB4W
iCIyU8o/OeIBBbqKMLtk2iN82KFrNbIbA4IER0J441evYZTnh9NbkJks8iyATPdC
hypRiOi1V4n9CFDguGHj+IsKpLUCgYEA1fC65ASTYGhQ5iQ56G48iKV5XIBldKad
MFcaxzAA/Hp6GMywHqEiYvk/WmCakDmIK1g7Rf7LURvWTYp1nytRBzTRDvrf4ESU
WF4z5Mr6EcnqKEpqDO/tDCwUp+4BReXMrf99KXRAWYig9zjq8garYEmIznoIc02i
4Q/X1uu1RzUCgYEAxzQFxj/4hsuUeLrIVsgWz+Tc6eZoYapmqdt/wNkUqIslLoko
e5suhy2OPkrKLck/yfMDWH8eT7kKvpRkSac12v4f0asJPv7tY3snHAHNJZa/yXvW
Nzw4MJ1rpPAlIpvML3JoLiM3yQsV6haM0ulzVKO9biIQd2wzIs6DPgd15DECgYEA
lQ2vaAW4GEcVdgJvRfznt9xx/XyHMwqSIYfOZFCRn1ZFktmpKu3g40v8U59SkIFE
2c4THeUzCkN2v3dkE40+WuL1dJZdPAcLw7V+Oj0glRw0Q/X0hSbz5LMhgQ5VXLmK
LP//183it351h0jkh9MVu3QAGLr1AEBq5pr/KgH2vrECgYEAr6y3cCo/gdUi6v3Y
39B6LTcmqeKZbpqh3LzBl+I6Ke9t/TOqCZhwtuolMDkFLhZ9woGDeB1VBfV7yUW4
xyF3rE6uMSEZyD5ivku7VC2Gsz/2XuRGl8iToGXgGxzzg6HMQr6Hw36+0VFzzxSo
xn9/6PuHd1bNooOv1S3s0WVkTJw=
-----END PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
我在这名安全人员中并不专业,并且不确定是否可以将其转换为否?谁能帮忙代码示例?
摘要:如何使用 C# 生成用于打包 google 扩展的 key.pem 文件?
据我所知,Google 扩展中使用的 pem 文件是使用以下代码生成的
openssl pkcs8 -topk8 -nocrypt -out key.pem
Run Code Online (Sandbox Code Playgroud)
它是pkcs8 密钥,我尝试使用 bouncycastle 从 RSA XML 文件生成它,如本文中所述,但最终生成的 .pem 文件不被 google chrome 接受,它的结构是正确的,但文件的长度几乎是一半chrome浏览器在打包过程中生成的。
谷歌浏览器所需的最终密钥如下所示
-----BEGIN PRIVATE KEY-----
MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQC0Bo/mh3bSiOiP
CUxtpa0c8IhDNJqaRDNWaKiqothEjgI7D/IU/uHacPotyedjzLFNr0cnhgguO4dQ
dNaSN+tAlgBqcexBbAl31+BEghNy+1PB189VNVSf8G+qOfF0SIKuBbb/+Q4TrvOD
XPrzulQpLcHMqRGqRE4PkT6574pKyiQGJvjeLBLEQtiobKkzoG3HOFkl9RsKae1f
Tuf8f25aVhKjoUyWp1mOfhHwdfT+76rmrz7F9X1s6M7pxigIfCiYPXHrWh02GTbj
EVLKTpVBg31JmrKErNJsv/j5P3wuSI12TCW4u1RXfahBHhi263oGCQ/2JO/Fm4+v
5wtX20x5AgMBAAECggEBAJjceZPlsp9SYSYTXzI7W6MXGpz2LdCP2IemlpFNdRXA
/2PnRkdNpbk19TisGC5FwMeV7XVB+fBH274Vd5zwnnFY7UF1OobSlbeNNoD1ck5P
2e7esM5JWnH0VtzUFpIGf/AEKj9v2uQbyenhKbWKoavVjpmZdcZ9+Up+qiR3oZWe
YiScMlYm5KL+pTD1IMZQ46DoxU17VhOVxbZoZOf+a5iAPtskjJyz12EOVldHASGz
VZkM54C+BrCTdJjOB5C7cth94D7J7nhgovBP0jz6A7WZtDpgBB6j1lFBwKSWw0U4
0LGZb/Mlb29txAoeR1YSHCe6RKuyyY3oas6fJ1kdRgECgYEA12r1nkK8fjNybMbp
No+TsWD9YDTLZrndHBMIR+GtUKWCXTpw7EwT0BCU4ATm6TiTje0ZI9kZW1tnbB4W
iCIyU8o/OeIBBbqKMLtk2iN82KFrNbIbA4IER0J441evYZTnh9NbkJks8iyATPdC
hypRiOi1V4n9CFDguGHj+IsKpLUCgYEA1fC65ASTYGhQ5iQ56G48iKV5XIBldKad
MFcaxzAA/Hp6GMywHqEiYvk/WmCakDmIK1g7Rf7LURvWTYp1nytRBzTRDvrf4ESU
WF4z5Mr6EcnqKEpqDO/tDCwUp+4BReXMrf99KXRAWYig9zjq8garYEmIznoIc02i
4Q/X1uu1RzUCgYEAxzQFxj/4hsuUeLrIVsgWz+Tc6eZoYapmqdt/wNkUqIslLoko
e5suhy2OPkrKLck/yfMDWH8eT7kKvpRkSac12v4f0asJPv7tY3snHAHNJZa/yXvW
Nzw4MJ1rpPAlIpvML3JoLiM3yQsV6haM0ulzVKO9biIQd2wzIs6DPgd15DECgYEA
lQ2vaAW4GEcVdgJvRfznt9xx/XyHMwqSIYfOZFCRn1ZFktmpKu3g40v8U59SkIFE
2c4THeUzCkN2v3dkE40+WuL1dJZdPAcLw7V+Oj0glRw0Q/X0hSbz5LMhgQ5VXLmK
LP//183it351h0jkh9MVu3QAGLr1AEBq5pr/KgH2vrECgYEAr6y3cCo/gdUi6v3Y
39B6LTcmqeKZbpqh3LzBl+I6Ke9t/TOqCZhwtuolMDkFLhZ9woGDeB1VBfV7yUW4
xyF3rE6uMSEZyD5ivku7VC2Gsz/2XuRGl8iToGXgGxzzg6HMQr6Hw36+0VFzzxSo
xn9/6PuHd1bNooOv1S3s0WVkTJw=
-----END PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud) 我有一个性能查询最近的商店:
我们有一张表格,其中包含一个国家/地区约50,000条记录(商店/销售点位置).
每条记录都有location
"地理"类型的列
[LOCATION_geo] [geography]
Run Code Online (Sandbox Code Playgroud)
同样为了性能,我使用这种语法在该位置列上创建了一个SPATIAL INDEX
CREATE SPATIAL INDEX [LOCATION_geoIndex]
ON [dbo].[StoreLocations] ([LOCATION_geo])
USING GEOGRAPHY_GRID
WITH (
GRIDS =(LEVEL_1 = MEDIUM,LEVEL_2 = MEDIUM,LEVEL_3 = MEDIUM,LEVEL_4 = MEDIUM),
CELLS_PER_OBJECT = 16, PAD_INDEX = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
Run Code Online (Sandbox Code Playgroud)
我有一个存储过程来返回用户当前位置最近的1000商店.
USE [CompanyDB]
GO
SET STATISTICS TIME ON;
GO
declare @point geography;
set @point = geography::Point(49.2471855, -123.1078987, 4326);
SELECT top (1000) [id]
,[Location_Name]
,[LOCATION_geo]from [MYDB].[dbo].[StoreLocations]
where [LOCATION_geo].STDistance(@point) <= 10000 …
Run Code Online (Sandbox Code Playgroud) c# ×3
pkcs#8 ×2
asp.net-mvc ×1
geo ×1
geography ×1
indexing ×1
rsa ×1
security ×1
sitefinity ×1
sql-server ×1