cer格式证书转pem格式方法和命令

cer格式证书转pem格式:
openssl x509 -inform der -in apple_pay.cer -out apple_pay_certificate.pem

cer和pem格式文件是证书文件,key文件是私钥文件,证书机构会将两种格式的文件发放给客户,但实际使用中经常需要使用到jks格式的文件,这里介绍一下转换办法,这里会使用到openssl工具。

JKS格式文件包括公钥和私钥

第一步:在openssl命令行下输入如下命令,将pem或cer证书pfx格式,回车后需要输入两次密码

pkcs12 -export -out server.pfx -inkey server.key -in server.pem(server.cer)

第二步:在命令行下使用java 的keytool工具,将pfx文件转换成jks文件

keytool -importkeystore -srckeystore server.pfx -destkeystore server.jks -srcstoretype PKCS12 -deststoretype JKS
————————————————
版权声明:本文为CSDN博主「飛ぶ鳥」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gaoyongjianqq/java/article/details/84969361

法国企业申请新冠疫情(Covid-19)政府补助攻略

疫情使很多人突然之间失去了收入,为此各国政府推出很多政策,为帮助所有企业度过难关。法国政府更是在所有欧洲政府里最慷慨的之一。其中团结基金(fonds de solidarité),是针对一些个人和小型公司的,不让他们突然没了收入而倒闭,每个公司或自由职业者根据情况可以得到1500€-5000€。三月份的大部分老板或自由职业者已经申请并到账,一般都会得到,4月份申请表格今天刚刚上线。明显比3月的要求严格细致了很多,但只要符合条件,应该也是100%通过的。

申请必要条件是:

1, 公司成立于2020年2月1日前

2,公司没有在2020年3月1日前走倒闭流程

3,公司职工人数在10人或10人以下

4,公司年营业额要少于100万,没有做完年账的月平均营业额不得超过83333欧元

5,公司不是另外一个公司的子公司

6,每个公司股东不得有超过60000欧的分红

7,公司的法人不得在其他公司2020年4月份里拿了薪水

8,这个公司如果是其他公司的母公司,那么它的所有子公司合起来收入条件也要符合以上条款。

有了这些信息就可以开始申请了,具体步骤如下

首先到税务局官方网站 (是在个人报税空间选择,不是企业报税空间)

https://www.impots.gouv.fr/portail/

出申请页,选择申请补贴月份,如果三月没申请也可以继续申请,这里我们选4月的。然后VALIDER。

这时应该也收到email确认,后面就是等税务局同意了

PHPCMS v9 调用最新文章与热门文章示例代码

最新文章

{pc:get sql=”S ELECT * FROM v9_news Order by id DESC ” num=”10″}
    {loop $data $r}
        <li>·<a href=”{$r[url]}” target=”_blank”>{str_cut(strip_tags($r[title]),33)}</a></li>
    {/loop}
{/pc}

我们可以使用get标签,然后加上SQL语句,直接从表中获取最新的10条数据,num=”10″你可以根据自己的需要指定数量。

当然,我们还可以把sql语句进一步进行扩展

热门文章

{pc:content action=”hits” catid=”$r[catid]” num=”10″ order=”views DESC” cache=”3600″}
    {loop $data $r}<li>·<a href=”{$r[url]}” title=”{$r[title]}” target=”_blank”>{str_cut(strip_tags($r[title]),33)}</a></li>
    {/loop}
{/pc}

频道总排行
{pc:get sql="select a.id,a.title,a.url,a.catid,b.hitsid,b.views from v9_news a left join v9_hits b on a.id=substring(b.hitsid,5) where a.catid in ($arrchildid) order by b.views desc" num="10" cache="3600"}
        {loop $data $r}
              <a href="{$r[url]}" title="{$r[title]}"  target="_blank">{str_cut($r[title],36,'...')}</a>
        {/loop}
    {/pc}
频道月排行调用方法
{pc:get sql="select a.id,a.title,a.url,a.catid,b.hitsid,b.views from v9_news a left join v9_hits b on a.id=substring(b.hitsid,5) where a.catid in ($arrchildid) order by b.monthviews desc" num="8" cache="3600"} 
{loop $data $r}
{number_format($r84 views)}
<a href="{$r[url]}"{title_style($r[style])} {str_cut($r[title],56,'...')} </a>
{/loop}
 {/pc}

这里的热门文章,我们是利用的content里面的hits,然后调用数据出来。

PHPCMS V9 类别调用以及创建独立类别页

在需要调用类别的地方,比如列表页,首先写循环前面写上一句:

<?php $TYPE = getcache('type_content','commons');?>

这句就是把类别缓存加载进来.

然后在循环里写:

<a href="index.php?m=content&c

=type&catid={$catid}&typeid={$r[typeid]}">

{$TYPE[$r[typeid]][name]}</a>

这样就可以调用出来类别了.

不过链接暂时无效.因为还没有做好链接文件.后面会更新这个文件的.

类别链接页面:

新增一个 type.html 文件放到 phpcms\templates\default\content\ 下:

该文件代码如下:

{template "content","header"}

<!--main--><?php $typeid = intval($_GET['typeid']);?>

<div class="main">

<div class="col-left">

<div class="crumbs"><a href="{siteurl($siteid)}">首页</a><span> > </span>

{catpos($catid)} 类别:<font color="red">{$TYPE[$typeid][name]}</font>

 总共有 {$total} 条记录</div>

<ul class="list lh24 f14">

{loop $datas $r}

<li><span class="rt">{date('Y-m-d H:i:s',$r[inputtime])}</span>·

<a href="{$r[url]}" target="_blank"{title_style($r[style])}>{$r[title]}</a></li>

{if $n%5==0}<li class="bk20 hr"></li>{/if}

{/loop}

</ul>

<div id="pages" class="text-c">{$pages}</div>

</div>

<div class="col-auto">

<div class="box">

<h5 class="title-2">频道总排行</h5>

{pc:content action="hits" catid="$catid" num="10" order="views DESC"}

<ul class="content digg">

{loop $data $r}

<li><a href="{$r[url]}" target="_blank">{$r[title]}</a></li>

{/loop}

{

</ul>

{/pc}

</div>



</div>

</div>

{template "content","footer"}

新增一个 type.php 文件到 phpcms\modules\content\下,该文件代码如下:

<?php

defined('IN_PHPCMS') or exit('No permission resources.');

//模型缓存路径

define('CACHE_MODEL_PATH',CACHE_PATH.'caches_model'.DIRECTORY_SEPARATOR.

'caches_data'.DIRECTORY_SEPARATOR);

pc_base::load_app_func('util','content');

class type {

private $db;

function __construct() {

$this->db = pc_base::load_model('content_model');

}

/**

* 按照模型搜索

*/

public function init() {

if(!isset($_GET['catid'])) showmessage(L('missing_part_parameters'));

$catid = intval($_GET['catid']);

$siteids = getcache('category_content','commons');

$siteid = $siteids[$catid];

$this->categorys = getcache('category_content_'.$siteid,'commons');

if(!isset($this->categorys[$catid])) showmessage(L('missing_part_parameters'));

if(isset($_GET['info']['catid']) && $_GET['info']['catid']) {

$catid = intval($_GET['info']['catid']);

} else {

$_GET['info']['catid'] = 0;

}

if(isset($_GET['typeid']) && trim($_GET['typeid']) != '') {

$typeid = intval($_GET['typeid']);

} else {

showmessage(L('illegal_operation'));

}

$TYPE = getcache('type_content','commons');

$modelid = $this->categorys[$catid]['modelid'];

$modelid = intval($modelid);

if(!$modelid) showmessage(L('illegal_parameters'));

$CATEGORYS = $this->categorys;

$siteid = $this->categorys[$catid]['siteid'];

$siteurl = siteurl($siteid);

$this->db->set_model($modelid);

$page = $_GET['page'];

$datas = $infos = array();

$infos = $this->db->listinfo("`typeid` = '$typeid'",'id DESC',$page,20);

$total = $this->db->number;

if($total>0) {

$pages = $this->db->pages;

foreach($infos as $_v) {

if(strpos($_v['url'],'://')===false) $_v['url'] = $siteurl.$_v['url'];

$datas[] = $_v;

}

}

$SEO = seo($siteid, $catid, $TYPE[$typeid]['name'],$TYPE[$typeid]['description'],

$TYPE[$typeid]['name'].'类别');

include template('content','type');

}

}

?>

上面的链接即可生效.

一、在文章内容页显示类别名称和类别链接:

比如:

<span>类别:<?php $TYPE = getcache(‘type_content’,’commons’);?><a href=”{APP_PATH}index.php?m=content&c=type&catid={$catid}&typeid={$r[typeid]}”>{$TYPE[$r[typeid]][name]}</a>&nbsp;&nbsp;发布时间:{$inputtime}&nbsp;&nbsp;来源:{if $copyfrom}{$copyfrom}{else}CMSYOU{/if}&nbsp;&nbsp;点击:</span><span id=”hits”></span>

上面的代码中,{$TYPE[$r[typeid]][name]}就是类别名称,{APP_PATH}index.php?m=content&c=type&catid={$catid}&typeid={$r[typeid]}。

需要注意的是,调用{$TYPE[$r[typeid]][name]}之前,需要先调用$TYPE的缓存:<?php $TYPE = getcache(‘type_content’,’commons’);?>。

当然也可以采用下面这一个方法调用出来类别名称和链接:类型:<a href=”{APP_PATH}index.php?m=content&c=type&catid={$catid}&typeid={$typeid}”>{pc:get sql=”SELECT * FROM cmsyou_type WHERE typeid=$typeid” cache=”3600″ return=”data”}{loop $data $val}{$val[name]}{/loop}{/pc}</a>

这是通过查询类别id而得到的类别名称,注意修改数据库前缀。

二、在文章列表页前面显示类别名称:

根据文章内容页的代码,举一反三,可以调用到列表页中间。具体怎么写呢?留给大家到问答社区中间探讨下!

Ps,参考下面这个代码:<?php$arrtype = explode(‘,’,$usable_type);?>{loop $arrtype $t}<a href=”index.php?m=content&c=type&catid={$catid}&typeid={$t}”>{$TYPE[$t][name]}</a>{/loop}

多尝试,肯定可以调用出来!

以上就是今天本文的全部内容,希望对大家的学习和工作有所帮助,同时希望大家多多关注,谢谢!

PHPCMS V9 内容页新闻心情修改成“赞”

修改步骤:
模块->新闻心情->心情配置,去掉多余的剩一个,改成“赞”
心情模板:/phpcms/templates/default/mood/index.html
<ul>
                {loop $setting $k $v}
                        <li>
                                <label for=”n{$k}”>赞({$data[$v[‘fields’]]})<br/>
                                <i class=”iconfont” id=”n{$k}” name=”n” onclick=”vote({$k})” {if isset($key) && $key==$k} checked{/if}>&#xf013c;</i>
                                </label>
                        </li>
                {/loop}
        </ul>

巴黎和郊区汽车被拖车拖走实用信息大全!

如果车被吊了 这网站输入车牌号码 就知道在哪个Fourrière了
http://www.prefecture-police-paris.interieur.gouv.fr/fourrieres/recherche_vehicule.php

4巴黎Les Halles 扣车场 (1区, 2区, 3区, 4区和10区西部)
电话:01.40.39.12.20 
地址:Parc Saint-Eustache 地下室5楼 75001 Paris 
RER : A, Châtelet-les-Halles 
接待时间:星期一至星期六 8点至20点半 

巴黎 Bercy 扣车场 (5区, 11区, 12区)
电话:01.53.46.69.20 
地址:Rue du Général de Langle de Cary 75012 Paris 
地铁: Ligne 8, Porte de Charenton 
公共汽车: n° 24 和 109,  Parc de Bercy 车站下车
公共汽车 : PC, Pont National 或 Quai de Bercy 车站下车 
接待时间:星期一至星期六 8点至20点半  

巴黎13区 Paris Charléty 扣车场 
电话:08.99.96.64.60
地址:Rue Thomire (à l’angle de la rue Francis de Miomandre) 75013 Paris 
T3a 到Poterne des Peupliers站下车
接待时间:星期一至星期六 8点至20点半  

巴黎Balard 扣车场  (6区, 14区, 15区和16区南部)
电话:01.45.58.70.30 
地址:1 rue Ernest Hemingway 75015 Paris
地铁: Ligne 8, Balard
公共汽车: PC, arrêt Bassin d’essai 
接待时间:星期一至星期六 8点至20点半

巴黎 Pantin 扣车场  (19区, 20区和10区东部)
电话:01.44.52.52.15
地址:15 rue de la Marseillaise 75019 Paris
地铁: Ligne 5, Porte de Pantin ou Hoche
公告汽车: PC3, Marseillaise-Porte-de-Pantin 车站下车
接待时间:星期一至星期六 8点至20点半

巴黎Foch 扣车场  (7区, 8区和16比部)
电话:01.53.64.11.80
地址:8 avenue Foch 75016 Paris
Parc Étoile-Foch 地下室2楼
地铁: 1-2-6号线, Charles de Gaulle-Étoile
RER : A, Charles de Gaulle-Étoile
公共汽车: n° 30,  Kléber 车站下车
接待时间:星期一至星期六 8点至20点半

巴黎 Pouchet 扣车场 (9区, 17区, 18区)
电话:01.53.06.67.68
地址:8 boulevard du Bois-le-Prêtre 75017 Paris
地铁: 13号线 Porte de Clichy
RER : C线 Porte de Clichy
公告汽车: 66号, Bois-le-Prêtre站下车
公告汽车 : PC3, Porte-Pouchet站下车

巴黎郊区:

Aubervilliers 扣车场
电话:01.48.33.59.71
地址:174 avenue jean jaurès aubervilliers

la courneuve 扣车场  
电话:01.48.38.14.81  
地址:86 avenue Jean Mermoz  93120 La courneuve  

93区MONTREUIL扣车场
电话:01.48.58.08.90 
地址:301, bis rue de Rosny 93100 Montreuil  

扣车场94区 Bonneuil  
电话:01.45.13.61.40
地址:11 rue des Champs 94380 Bonneuil-sur-Marne
快线: A, Boissy-Saint-Léger
(Itinéraire à pied : Bd de la Gare / Av. du Gal Leclerc / r. du 8 Mai 1945)
时间:星期一至星期六 8点30之17点

95省警察局 Préfecture du Val d’Oise 
10, avenue Bernard Hirsch 95010 Cergy Cedex
Pour nous joindre 0134209595

95省,区警察局联系信息
Police
01-34-20-20-20
rue Abondance
Cergy, Val-d’Oise

Préfecture du Val d’Oise
01-30-32-51-85
avenue Bernard Hirsch
Cergy, Val-d’Oise

Hôtel De Police
01-34-26-17-17
21 av Mar Foch
Argenteuil, Val-d’Oise

Mutuelle Générale De La Police (MGP)
08-10-00-01-82
101 avenue François Arago

Nanterre, Hauts-de-Seine
Service Départemental P.J
01-41-37-74-00
92 rue Henri Barbusse

Nanterre, Hauts-de-Seine
Bureau de Police
01-34-20-13-30
5 place Linandes

Cergy, Val-d’Oise
Hotel de Police (Direction Departementale de la Securite Publique)
01-34-43-17-17
4 rue Croix des Maheux
Cergy, Val-d’Oise

Commissariat de Secteur (Bureau de Police)
01-30-25-80-60
centre cial Joliot Curie
Argenteuil, Val-d’Oise

Commissariat de Police
01-55-69-46-50
2 rue 19 Mars 1962
Nanterre, Hauts-de-Seine

Police (Bureau de)
01-55-17-35-90
1 rue Chasse

法国面粉T45/T55/T65型号是什么意思?

面粉是烘焙最常用的原材料,蛋糕、面包、饼干都需要用到面粉,不同面粉在各种烘焙食品中的作用有些差别,但大体都是起“骨架”作用。做烘焙,你得了解一下这些关于面粉的知识。

面粉的种类:按蛋白质的含量进行分类,目前我们通常把面粉分为三类:

1 、高筋粉(强筋粉、高蛋白质粉或面包粉),蛋白质含量为1 2 %一1 5 %,湿面筋重量>35 %。高筋粉适宜制作面包,起酥糕点,泡夫和松酥饼等。

2 、低筋粉(弱筋粉,低蛋白质粉或饼干粉),蛋白质含量为7 %一9 %。湿面重量<25 %。低面筋适宜制作蛋糕、饼干、混酥类糕点等。

3 、中筋粉(通用粉,中蛋白质粉)是介于高筋粉与低筋粉之间的一类面粉。蛋白质含量为9 %一11%,湿面筋重量在25%一35%之间。中筋粉适宜做水果蛋糕,也可以用来制作面包。

除此之外专用粉,预混粉和全麦粉越来越受到焙烤企业的欢迎而得到应用。 

1 、专用粉:是对应以面粉为原料的食品,经过专门调配而适合生产专门食品的面粉。

2 、预混粉:是按照焙烤产品的配方将面粉、糖、粉末油脂、奶粉、改良剂、乳化剂、盐等预先混合好的面粉。目前市场所售的海棉蛋糕预混粉,曲奇预混粉,松饼预混粉就是此类。

3 、全麦粉:是由整粒小麦磨成,包含胚芽,大部分麦皮和胚乳。麦皮和胚芽中含有丰富的蛋白质、纤维素、维生素和矿物质,具有较高的营养价值。

作为欧洲第一大农业生产国的法国,对于面粉的粉类也有自己的一套体系。各种种类的面粉多到让人眼花缭乱。今天为大家介绍最常态的面粉---小麦粉。

小麦研磨后产生的粉类会有不同的特性。但是主要成分不外乎淀粉和蛋白质。

法国人对小麦粉的分类,基于小麦粉所含的“灰分”,大致分成6类。

*灰分---指的就是小麦麸皮中所含的矿物质成分。简单点说,也可以被理解为麸皮里的杂质。

根据灰分含量,用数字的大小,来限定面粉的形态。

比如(T45/T55/T65/T80/T110/T150)

T后面的数字越小,表示这类面粉的精制程度越高,面粉的颜色也越白。

T后面的数字越大,表示这枚面粉的精制程度越低,面粉颜色也相对较深。

野上智宽说过法国的面粉非常有个性,和日本的面粉相比较,操作难度更高,法国面粉的筋性比日本面粉来得高,搓揉过程比较吃力,不同季节,不同批次的法国面粉,即使是同款的面粉,面粉的特质也会有很大的变化。

冠军面包师吴宝春说过用法国T55,T65面粉所烤出来了面包,皮较厚,口感较硬麦香也更浓郁。

以上两位大师都有提及法国的面粉,比如T65,T55之类的粉,这些粉为什么会这么分类~

一般来说面粉会按照前面说的蛋白质含量来分类,但法国小麦粉的分类,是以灰分的比例含量决定的,例如T45,就是灰分含量占粉的0.45%左右,灰分的含量越高,面粉的颜色就越深,矿物质含量越多,灰分是小麦所含的矿物质,也决定小麦风味的丰富程度,灰分比例是法国小麦分类方法依据,这依据背后是关于法国小麦粉制作工艺,也就是麦粒研磨比率。

具体的分析

法国依照所含的灰分的含有量分成六種不同的形态,T45粉的颜色最白,以数增加颜色变深,

T=Type=类形

T45

分灰含量小于50%,麦粒研磨比率60~70%

可以制作甜点,吐司和布里欧修等重奶油面包,

使用T45制作时候布里修的时候,相比日本粉时,水分需要减少

由于T45的粉,在制作面包,会保留小麦香,不易被奶油抢走香味,

T55

分灰的含量0.50%~0.60%, 麦粒研磨比率75%~78%

可以制作法国面包(老面发酵法)和可颂。

T55制作面包搭配天然酵母长时间发酵,外皮有虎皮般的小泡,内在口感像糬,颜色明显比一般的法国面包黄,皮也较厚。

T65

分灰的含量0.62~0.75%,麦粒研磨比率78%~82%

可以用于制作法国面包。

T65制作的法棍,外皮酥脆,非采用天然酵母长时间发酵外皮气泡较少,

与T55相比,颜色更黄,皮厚酥脆

随着数字增加灰分和麦粒研磨比率也增加

T80(使用液态天然酵母的法棍) 半粒粉

T110(大型法国面包) 準全粒粉

T150(全麦面包) 全粒粉

以上就是关于法国T面粉的介绍。

手机自带”文字扫描仪”,5秒就能将纸质文档转成电子档

日常工作中,除了电脑之外手机是我们使用最频繁的工具了,但其实很多人都不知道华为手机中非常强大的功能,”文字扫描仪”,可以帮我们快速录入工作中的纸质文档文件,提取图片、书本中的文字到电脑和手机中!

今天我们就一起看看华为手机中的文字扫描功能吧!以后再也不用慢慢打字录入啦!

1、手机自带输入法

华为手机默认的百度输入法中有一个”文字扫描”功能,我们只需要对准书本、纸质文档、图片等内容扫描,就可以快速将文字提取到手机中。

2、相机”智慧视觉”

在手机自带的相机中打开”智慧视觉”,在智慧视觉中找到扫描选项,即可对准文档扫描快速录入手机。

3、QQ扫一扫

有些人的华为手机中默认的不是百度输入法,很多人找不到文字扫描。别担心,我们可以打开QQ中的扫一扫,同样可以扫描出书本中的文字,扫描完成后复制到电子档文件中即可。

很多人反映QQ已经用不了这个功能了,这里还是指没有更新的老版本QQ哦。当然了,如果你早已更新,那么手机输入法例如搜狗、百度等扫一扫也是一样的。

4、微信小程序

如果你不用QQ,那你也可以打开微信搜索到”迅捷文字识别”这个小程序,对准你需要转换成电子档的纸质文件拍照,数秒之内就可以识别成功,然后一键导出成Word。

升级php7.1.*后phpcms V9编辑文章出现segment.class.php | 345错误解决方法

这两天服务器环境升级了php到7.1.*,然后使用phpcms V9添加或编辑文章时都会遇到500错误。查看error_log文件,看到一堆Illegal string offset ‘**’ | phpcms/libs/classes/segment.class.php | 345这样的错误。查看segment.class.php 文件的345行,附近的代码是:

function get_keyword($str,$ilen=-1) {
if($str==”) return ”;
else $this->split_result($str,true,true);
$okstr = $this->result_string;
$ws = explode(‘ ‘,$okstr);
$okstr = $wks = ”;
foreach($ws as $w) {
$w = trim($w);
if(strlen($w)<2) continue; if(!preg_match("/[^0-9:-]/",$w)) continue; if(strlen($w)==2&&ord($w[0])>0x80) continue;
if($wks==””) $wks=array();
if(isset($wks[$w])) $wks[$w]++;
else $wks[$w] = 1; //345行的内容
}
if(is_array($wks)) {
arsort($wks);
if($ilen==-1) {
foreach($wks as $w=>$v) {
if($this->get_rank($w)>500) $okstr .= $w.” “;
}
} else {
foreach($wks as $w=>$v){
if((strlen($okstr)+strlen($w)+1)<$ilen) $okstr .= $w." "; else break; } } }

看来问题出在$wks这个变量上(字符串变量直接当数组使用)。查看前面的代码,$wks的赋值是:$okstr = $wks = ”; ,后来通过搜索得知:PHP7开始,对于数据类型的隐式转换做了调整,String无法隐式转换成Array了。

所以,问题就出在$wks一开始是字符串,后面的代码又直接把他当数组用,再新版PHP中就会出错。所以解决方法应该是在344行前面增加一行:if($wks==””) $wks=array();

经过测试,此方法有效。