pkix1explicit88.erl

来自「OTP是开放电信平台的简称」· ERL 代码 · 共 2,056 行 · 第 1/5 页

ERL
2,056
字号
'dec_X520LocalityName'(Tlv) ->   'dec_X520LocalityName'(Tlv, []).'dec_X520LocalityName'(Tlv, TagIn) ->Tlv1 = ?RT_BER:match_tags(Tlv,TagIn), case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of%% 'teletexString'    {20, V1} ->         {teletexString, ?RT_BER:decode_restricted_string(V1,{1,128},20,[])};%% 'printableString'    {19, V1} ->         {printableString, ?RT_BER:decode_restricted_string(V1,{1,128},19,[])};%% 'universalString'    {28, V1} ->         {universalString, ?RT_BER:decode_universal_string(V1,{1,128},[])};%% 'utf8String'    {12, V1} ->         {utf8String, ?RT_BER:decode_UTF8_string(V1,[])};%% 'bmpString'    {30, V1} ->         {bmpString, ?RT_BER:decode_BMP_string(V1,{1,128},[])};      Else ->          exit({error,{asn1,{invalid_choice_tag,Else}}})   end.%%================================%%  X520StateOrProvinceName%%================================'enc_X520StateOrProvinceName'(Val) ->    'enc_X520StateOrProvinceName'(Val, []).'enc_X520StateOrProvinceName'({'X520StateOrProvinceName',Val}, TagIn) ->   'enc_X520StateOrProvinceName'(Val, TagIn);'enc_X520StateOrProvinceName'(Val, TagIn) ->   {EncBytes,EncLen} = case element(1,Val) of      teletexString ->         ?RT_BER:encode_restricted_string([], element(2,Val), 20, [<<20>>]);      printableString ->         ?RT_BER:encode_restricted_string([], element(2,Val), 19, [<<19>>]);      universalString ->         ?RT_BER:encode_universal_string([], element(2,Val), [<<28>>]);      utf8String ->         ?RT_BER:encode_UTF8_string([], element(2,Val), [<<12>>]);      bmpString ->         ?RT_BER:encode_BMP_string([], element(2,Val), [<<30>>]);      Else ->          exit({error,{asn1,{invalid_choice_type,Else}}})   end,?RT_BER:encode_tags(TagIn, EncBytes, EncLen).'dec_X520StateOrProvinceName'(Tlv) ->   'dec_X520StateOrProvinceName'(Tlv, []).'dec_X520StateOrProvinceName'(Tlv, TagIn) ->Tlv1 = ?RT_BER:match_tags(Tlv,TagIn), case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of%% 'teletexString'    {20, V1} ->         {teletexString, ?RT_BER:decode_restricted_string(V1,{1,128},20,[])};%% 'printableString'    {19, V1} ->         {printableString, ?RT_BER:decode_restricted_string(V1,{1,128},19,[])};%% 'universalString'    {28, V1} ->         {universalString, ?RT_BER:decode_universal_string(V1,{1,128},[])};%% 'utf8String'    {12, V1} ->         {utf8String, ?RT_BER:decode_UTF8_string(V1,[])};%% 'bmpString'    {30, V1} ->         {bmpString, ?RT_BER:decode_BMP_string(V1,{1,128},[])};      Else ->          exit({error,{asn1,{invalid_choice_tag,Else}}})   end.%%================================%%  X520OrganizationName%%================================'enc_X520OrganizationName'(Val) ->    'enc_X520OrganizationName'(Val, []).'enc_X520OrganizationName'({'X520OrganizationName',Val}, TagIn) ->   'enc_X520OrganizationName'(Val, TagIn);'enc_X520OrganizationName'(Val, TagIn) ->   {EncBytes,EncLen} = case element(1,Val) of      teletexString ->         ?RT_BER:encode_restricted_string([], element(2,Val), 20, [<<20>>]);      printableString ->         ?RT_BER:encode_restricted_string([], element(2,Val), 19, [<<19>>]);      universalString ->         ?RT_BER:encode_universal_string([], element(2,Val), [<<28>>]);      utf8String ->         ?RT_BER:encode_UTF8_string([], element(2,Val), [<<12>>]);      bmpString ->         ?RT_BER:encode_BMP_string([], element(2,Val), [<<30>>]);      Else ->          exit({error,{asn1,{invalid_choice_type,Else}}})   end,?RT_BER:encode_tags(TagIn, EncBytes, EncLen).'dec_X520OrganizationName'(Tlv) ->   'dec_X520OrganizationName'(Tlv, []).'dec_X520OrganizationName'(Tlv, TagIn) ->Tlv1 = ?RT_BER:match_tags(Tlv,TagIn), case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of%% 'teletexString'    {20, V1} ->         {teletexString, ?RT_BER:decode_restricted_string(V1,{1,64},20,[])};%% 'printableString'    {19, V1} ->         {printableString, ?RT_BER:decode_restricted_string(V1,{1,64},19,[])};%% 'universalString'    {28, V1} ->         {universalString, ?RT_BER:decode_universal_string(V1,{1,64},[])};%% 'utf8String'    {12, V1} ->         {utf8String, ?RT_BER:decode_UTF8_string(V1,[])};%% 'bmpString'    {30, V1} ->         {bmpString, ?RT_BER:decode_BMP_string(V1,{1,64},[])};      Else ->          exit({error,{asn1,{invalid_choice_tag,Else}}})   end.%%================================%%  X520OrganizationalUnitName%%================================'enc_X520OrganizationalUnitName'(Val) ->    'enc_X520OrganizationalUnitName'(Val, []).'enc_X520OrganizationalUnitName'({'X520OrganizationalUnitName',Val}, TagIn) ->   'enc_X520OrganizationalUnitName'(Val, TagIn);'enc_X520OrganizationalUnitName'(Val, TagIn) ->   {EncBytes,EncLen} = case element(1,Val) of      teletexString ->         ?RT_BER:encode_restricted_string([], element(2,Val), 20, [<<20>>]);      printableString ->         ?RT_BER:encode_restricted_string([], element(2,Val), 19, [<<19>>]);      universalString ->         ?RT_BER:encode_universal_string([], element(2,Val), [<<28>>]);      utf8String ->         ?RT_BER:encode_UTF8_string([], element(2,Val), [<<12>>]);      bmpString ->         ?RT_BER:encode_BMP_string([], element(2,Val), [<<30>>]);      Else ->          exit({error,{asn1,{invalid_choice_type,Else}}})   end,?RT_BER:encode_tags(TagIn, EncBytes, EncLen).'dec_X520OrganizationalUnitName'(Tlv) ->   'dec_X520OrganizationalUnitName'(Tlv, []).'dec_X520OrganizationalUnitName'(Tlv, TagIn) ->Tlv1 = ?RT_BER:match_tags(Tlv,TagIn), case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of%% 'teletexString'    {20, V1} ->         {teletexString, ?RT_BER:decode_restricted_string(V1,{1,64},20,[])};%% 'printableString'    {19, V1} ->         {printableString, ?RT_BER:decode_restricted_string(V1,{1,64},19,[])};%% 'universalString'    {28, V1} ->         {universalString, ?RT_BER:decode_universal_string(V1,{1,64},[])};%% 'utf8String'    {12, V1} ->         {utf8String, ?RT_BER:decode_UTF8_string(V1,[])};%% 'bmpString'    {30, V1} ->         {bmpString, ?RT_BER:decode_BMP_string(V1,{1,64},[])};      Else ->          exit({error,{asn1,{invalid_choice_tag,Else}}})   end.%%================================%%  X520Title%%================================'enc_X520Title'(Val) ->    'enc_X520Title'(Val, []).'enc_X520Title'({'X520Title',Val}, TagIn) ->   'enc_X520Title'(Val, TagIn);'enc_X520Title'(Val, TagIn) ->   {EncBytes,EncLen} = case element(1,Val) of      teletexString ->         ?RT_BER:encode_restricted_string([], element(2,Val), 20, [<<20>>]);      printableString ->         ?RT_BER:encode_restricted_string([], element(2,Val), 19, [<<19>>]);      universalString ->         ?RT_BER:encode_universal_string([], element(2,Val), [<<28>>]);      utf8String ->         ?RT_BER:encode_UTF8_string([], element(2,Val), [<<12>>]);      bmpString ->         ?RT_BER:encode_BMP_string([], element(2,Val), [<<30>>]);      Else ->          exit({error,{asn1,{invalid_choice_type,Else}}})   end,?RT_BER:encode_tags(TagIn, EncBytes, EncLen).'dec_X520Title'(Tlv) ->   'dec_X520Title'(Tlv, []).'dec_X520Title'(Tlv, TagIn) ->Tlv1 = ?RT_BER:match_tags(Tlv,TagIn), case (case Tlv1 of [CtempTlv1] -> CtempTlv1; _ -> Tlv1 end) of%% 'teletexString'    {20, V1} ->         {teletexString, ?RT_BER:decode_restricted_string(V1,{1,64},20,[])};%% 'printableString'    {19, V1} ->         {printableString, ?RT_BER:decode_restricted_string(V1,{1,64},19,[])};%% 'universalString'    {28, V1} ->         {universalString, ?RT_BER:decode_universal_string(V1,{1,64},[])};%% 'utf8String'    {12, V1} ->         {utf8String, ?RT_BER:decode_UTF8_string(V1,[])};%% 'bmpString'    {30, V1} ->         {bmpString, ?RT_BER:decode_BMP_string(V1,{1,64},[])};      Else ->          exit({error,{asn1,{invalid_choice_tag,Else}}})   end.%%================================%%  X520dnQualifier%%================================'enc_X520dnQualifier'(Val) ->    'enc_X520dnQualifier'(Val, [<<19>>]).'enc_X520dnQualifier'({'X520dnQualifier',Val}, TagIn) ->   'enc_X520dnQualifier'(Val, TagIn);'enc_X520dnQualifier'(Val, TagIn) ->?RT_BER:encode_restricted_string([], Val, 19, TagIn).'dec_X520dnQualifier'(Tlv) ->   'dec_X520dnQualifier'(Tlv, [19]).'dec_X520dnQualifier'(Tlv, TagIn) ->?RT_BER:decode_restricted_string(Tlv,[],19,TagIn).%%================================%%  X520countryName%%================================'enc_X520countryName'(Val) ->    'enc_X520countryName'(Val, [<<19>>]).'enc_X520countryName'({'X520countryName',Val}, TagIn) ->   'enc_X520countryName'(Val, TagIn);'enc_X520countryName'(Val, TagIn) ->?RT_BER:encode_restricted_string([], Val, 19, TagIn).'dec_X520countryName'(Tlv) ->   'dec_X520countryName'(Tlv, [19]).'dec_X520countryName'(Tlv, TagIn) ->?RT_BER:decode_restricted_string(Tlv,2,19,TagIn).%%================================%%  X520SerialNumber%%================================'enc_X520SerialNumber'(Val) ->    'enc_X520SerialNumber'(Val, [<<19>>]).'enc_X520SerialNumber'({'X520SerialNumber',Val}, TagIn) ->   'enc_X520SerialNumber'(Val, TagIn);'enc_X520SerialNumber'(Val, TagIn) ->?RT_BER:encode_restricted_string([], Val, 19, TagIn).'dec_X520SerialNumber'(Tlv) ->   'dec_X520SerialNumber'(Tlv, [19]).'dec_X520SerialNumber'(Tlv, TagIn) ->?RT_BER:decode_restricted_string(Tlv,{1,64},19,TagIn).%%================================%%  X520Pseudonym%%================================'enc_X520Pseudonym'(Val) ->    'enc_X520Pseudonym'(Val, []).'enc_X520Pseudonym'({'X520Pseudonym',Val}, TagIn) ->   'enc_X520Pseudonym'(Val, TagIn);'enc_X520Pseudonym'(Val, TagIn) ->   {EncBytes,EncLen} = case element(1,Val) of      teletexString ->         ?RT_BER:encode_restricted_string([], element(2,Val), 20, [<<20>>]);      printableString ->         ?RT_BER:encode_restricted_string([], element(2,Val), 19, [<<19>>]);      universalString ->         ?RT_BER:encode_universal_string([], element(2,Val), [<<28>>]);      utf8String ->         ?RT_BER:encode_UTF8_string([], element(2,Val), [<<12>>]);      bmpString ->         ?RT_BER:encode_BMP_string([], element(2,Val), [<<30>>]);      Else ->          exit({error,{asn1,{invalid_choice_type,Else}}})   end,?RT_BER:encode_tags(TagIn, EncBytes, EncLen).'dec_X520Pseudonym'(Tlv) ->   'dec_X520Pseudonym'(Tlv, []).

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?